java集合转换_java各种集合的转换
內(nèi)容:
1、List轉(zhuǎn)Array? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?2、Array轉(zhuǎn)List
3、String轉(zhuǎn)int[],String[](對單個字符)????????4、數(shù)組、List、Set、Map相互轉(zhuǎn)換
5、一行輸入多個元素方法
常用集合:Map、Set、List、Array、String
1、List轉(zhuǎn)Array:
List list=new ArrayList<>();3、String轉(zhuǎn)int[],String[](對單個字符)
String[] s1 = new String[list.size()];
list.toArray(strings);
注意:
List.toArray()方法返回的是Object[]?數(shù)組,轉(zhuǎn)起來很麻煩的而且不能對數(shù)組(integer[])這樣強轉(zhuǎn)
必須保證s1大小和list大小相同,否則小了會幫你創(chuàng)建相同大小的String[],大了后面幫你不上null,浪費空間
2、Array轉(zhuǎn)List:
int[] a = {1,2,3}
List list=new ArrayList<>();
list.addAll(Arrays.asList(a));
注意:
List?list =?Arrays.asList(a);也是可行的,可是此時的list是Arrays下的ArrayList,而不是我們平時用的java.util.ArrayList
list instanceof ArrayList的時候是false;
3、String轉(zhuǎn)int[],String[](對單個字符)
String轉(zhuǎn)int[]
String?a ="123456";
int[] b =new int[a.length()];
for(int i = 0;i
b[i]=Integer.parseInt(a.substring(i,i+1));//簡化之處,這樣就不用先charAt()在String.valueOf();
}
String轉(zhuǎn)String[]
String[] c =a.split(",");
或者像上面的
char轉(zhuǎn)int
int a = Character.getNumericValue('9');
注意:
string?a ="good",實際在常量詞中是以連續(xù)的char 'g','o','d'存在的。如果a = "goods"的話,那么在常量詞就只會多一個‘s’,而不是“goods”
4、數(shù)組、List、Set、Map相互轉(zhuǎn)換
List,Set,數(shù)組——》Map
都得一個一個put進去的
List ——》Set:
Set mapKeySet?=?new?HashSet<>(list);
Set——》List:
List mapKeyList = new ArrayList<>(set);
Map——》Set:
//?將Map?的鍵轉(zhuǎn)化為Set
Set?mapKeySet?=?map.keySet();
//?將Map?的值轉(zhuǎn)化為Set
Set?mapValuesSet?=newHashSet(map.values());
Set,List——》Array:
用法和注意事項基本都同上第一個標題所講的一樣。
注意:
這里建議用LinkHashMap,其他的Map轉(zhuǎn)換出來的結(jié)果是亂序的,不建議轉(zhuǎn)換,非要轉(zhuǎn)換,最好再排下序。
5、一行輸入多個元素方法
Listlist = new ArrayList<>();
Scanner scan = new Scanner(System.in);
String s = scan.nextLine();
String[] ss = s.split(" ");
for (String string : ss) {
list.add(Integer.parseInt(string));
}
System.out.println(list);
總結(jié)
以上是生活随笔為你收集整理的java集合转换_java各种集合的转换的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 大叔与小炮儿剧情介绍
- 下一篇: “寄声谢飞鹄”上一句是什么