list,set,map,数组之间的相互转换详细解析

1.list转set
Set set = new HashSet(new ArrayList());

2.set转list
List list = new ArrayList(new HashSet());

3.数组转为list
List stooges = Arrays.asList("Larry", "Moe", "Curly");
或者
String[] arr = {"1", "2"};
List list = Arrays.asList(arr);

4.数组转为set
int[] a = { 1, 2, 3 };
Set set = new HashSet(Arrays.asList(a));

5.map的相关操作。
Map map = new HashMap();
map.put("1", "a");
map.put(‘2‘, ‘b‘);
map.put(‘3‘, ‘c‘);
System.out.println(map);
// 输出所有的值
System.out.println(map.keySet());
// 输出所有的键
System.out.println(map.values());
// 将map的值转化为List
List list = new ArrayList(map.values());
System.out.println(list);
// 将map的值转化为Set
Set set = new HashSet(map.values());
System.out.println(set);

6.list转数组
List list = Arrays.asList("a","b");
String[] arr = (String[])list.toArray(new String[list.size()]);
System.out.println(Arrays.toString(arr));

//1.数组转换为list,map 
String[] arr = {"123","456","789","123"}; 
List<String> list = Arrays.asList(arr); 
//数组转换为map,一维数组时,奇数为key,偶数为value,奇数个元素,最后一个舍掉 
//.二维数组当做两个一维数组 
Map map = MapUtils.putAll(new HashMap(), arr);

String[][] ss = {{"a","b","e"},{"c","d","f"}}; 
MapUtils.debugPrint(System.out,arr,map); 
MapUtils.putAll(map, arr); 
MapUtils.debugPrint(System.out,arr,map); 
MapUtils.putAll(map, ss); 
MapUtils.verbosePrint(System.out,arr,MapUtils.invertMap(map));

//list 转换为arr 
List<String> ls = new ArrayList<String>(); 
ls.add("wch"); 
ls.add("name"); 
String[] as = (String[]) ls.toArray();

时间: 2024-10-07 05:22:27

list,set,map,数组之间的相互转换详细解析的相关文章

list,set,map,数组间的相互转换

1.list转set Set set =  new  HashSet( new  ArrayList());    2.set转list List list =  new  ArrayList( new  HashSet());    3.数组转为list List stooges = Arrays.asList("Larry", "Moe", "Curly"); 此时stooges中有有三个元素.4.数组转为setint[] a = { 1,

数值类型与字节数组之间的相互转换

我们在上文 如何选择使用字符串还是数字呢? 中阐述了使用数值类型的好处,那么问题来了,如何在数值类型与字节数组之间相互转换呢? 我们先看看单个数值类型和字节数组之间的转换,我们以Integer类型为例: public static byte[] intToBytes(int x) {     ByteBuffer intBuffer = ByteBuffer.allocate(Integer.BYTES);     intBuffer.putInt(0, x);     return intBu

poj 2299 Ultra-QuickSort 求逆序数,树状数组解法,详细解析

Ultra-QuickSort Time Limit: 7000MS   Memory Limit: 65536K Total Submissions: 44554   Accepted: 16195 Description In this problem, you have to analyze a particular sorting algorithm. The algorithm processes a sequence of n distinct integers by swappin

JS中树形对象与数组之间的相互转换

在工作中经常会遇到树形结构的对象转为数组或者数组转为树形对象的需求,那么如何实现呢? 1.首先是要将一个具有树形结构的数组转化为树形结构的对象 // 将一个扁平化的对象数组,转化为树形结构 // 现在有一个对象组成的数组,每个元素有id属性和parent_id属性,根据其id属性和parent_id属性,将其转换为树结构的对象 const arr = [ { id: '1', parent_id: 'root', name:'abc' }, { id: '2', parent_id: 'root

C#中List〈string〉和string[]数组之间的相互转换

1,从System.String[]转到List<System.String> System.String[] str={"str","string","abc"}; List<System.String> listS=new List<System.String>(str); 2, 从List<System.String>转到System.String[] List<System.Strin

c#不同数组之间的转换【转载,消化自动删除】

c#中从string数组转换到int数组 string[] input = { "1", "2", "3", "4", "5", "6", "7", "8", "9" };int[] output = Array.ConvertAll<string, int>(input, delegate(string s) {

字符数组的定义与使用详细解析

1. 字符数组的定义: 用来存放字符量的数组称为字符数组. 形式数值数组相同.例如: char c[10]; 由于字符型和整型通用,也可以定义为int c[10],但这时每个数组元素占2个字节的内存单元. 字符数组也可以是二维或多维数组.例如: char c[5][10]; 即为二维字符数组. 2. 字符数组的初始化 第一种方法是分别对每一个元素进行赋值操作: 字符数组也允许在定义时作初始化赋值.例如: char c[10]={'c', '  ', 'p', 'r','o', 'g', 'r',

byte数组与对象之间的相互转换

在进行网络通信时可能需要传输对象,如果用NIO的话,只能用Bytebuffer和channel直接 通过ByteArray*Stream和Object*Stream可以将byte数组和对象进行相互的转换. 1.byte数组转对象: byte [] data=initData();//初始化byte数组 ByteArrayInputStream inputStream=new ByteArrayInputStream(data); ObjectInputStream oInputStream=ne

二进制,八进制,十进制与十六进制之间的相互转换

功能:完成二进制,八进制,十进制与十六进制之间的相互转换(以字符数组形式输入). 要点: 字符数组反序:strrev(char *str); 字符数组转换为十进制整数:atoi(char *str); map容器完成字符到数值的转换: 字符数组完成数值到字符的转换: 1位16进制数可转换为4位2进制数 1位8进制数可转换为3位2进制数 使用右移和与运算代替除法和取余 #include<cstdio> #include<cstring> #include<cstdlib>