Java中集合與陣列互轉總結
1.集合之間,以及集合與陣列互轉
1.List轉換為Array
List<String> list = new ArrayList<String>();
list.add(“1”);
list.add(“2”);
list.add(“3”);
list.add(“4”);
String [] countries = list.toArray(new String[list.size()]);
2.Array轉換為List
String[] countries = {“1”, “2”, “3”, “4”};
List list = Arrays.asList(countries);
3.Map轉換為List
List<Value> list = new ArrayList<Value>(map.values());
4.Array轉換為Set
String [] countries = {“1”, “2”, “3”};
Set<String> set = new HashSet<String>(Arrays.asList(countries));
System.out.println(set);
5.Map轉換為Set
Map<Integer, String> sourceMap = createMap();
Set<String> targetSet = new HashSet<>(sourceMap.values());
特別說明:
- 採用集合的toArray()方法直接把List集合轉換成陣列,這裡需要注意,不能這樣寫:
String[] array = (String[]) mlist.toArray();
這樣寫的話,編譯執行時會報型別無法轉換java.lang.ClassCastException的錯誤,這是為何呢,這樣寫看起來沒有問題啊
因為java中的強制型別轉換是針對單個物件才有效果的,而List是多物件的集合,所以將整個List強制轉換是不行的
正確的寫法應該是這樣的
String[] array = mlist.toArray(new String[0]);
List<String> mlist = new ArrayList<>();
mlist.add("zhu");
mlist.add("wen");
mlist.add("tao");
// List轉成陣列
String[] array = mlist.toArray(new String[0]);
// 輸出陣列
for (int i = 0; i < array.length; i++) {
System.out.println("array--> " + array[i]);
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
2.List<T>轉List<String>最佳方法
使用Google的Lists工具類
eg:
List<Integer>轉List<String>
import com.google.common.collect.Lists;
import com.google.common.base.Functions
List<Integer> integers = Arrays.asList(1, 2, 3, 4);
List<String> strings = Lists.transform(integers, Functions.toStringFunction());
相關文章
- Java中List與陣列互轉Java陣列
- List ,Set,Map集合與陣列互轉陣列
- Java中List陣列互轉Java陣列
- Java 集合與陣列互相轉換Java陣列
- Java集合和陣列的排序方式總結Java陣列排序
- Java中 set,list,array(集合與陣列)、Map相互轉換Java陣列
- java之陣列與集合Java陣列
- 【Java基礎知識】Java陣列與集合Java陣列
- 陣列與集合List的相互轉化陣列
- Java集合/陣列排序知識與IO流結合例項Java陣列排序
- JavaScript陣列方法總結(中)JavaScript陣列
- 轉:java中陣列與List相互轉換的方法Java陣列
- Java集合原始碼分析之基礎(一):陣列與連結串列Java原始碼陣列
- 【java】【集合】陣列和集合的基本概述Java陣列
- 二維陣列和稀疏陣列互轉陣列
- Java:List集合&Integer物件&int[]陣列相互轉化Java物件陣列
- js中陣列常用方法總結JS陣列
- Java集合總結:Java
- 陣列轉換成List集合陣列
- Scala陣列、元組與集合陣列
- js將偽陣列或者集合轉換為陣列JS陣列
- js與jquery常用陣列方法總結JSjQuery陣列
- OC中的陣列、字典、集合陣列
- Java 中陣列轉換為 ListJava陣列
- 【Java】【集合】collection介面常見方法、集合轉陣列toArray()、帶ALL的方法Java陣列
- java 陣列(轉)Java陣列
- 陣列和集合的相互轉換陣列
- PHP 陣列轉樹結構/樹結構轉陣列PHP陣列
- Java總結 Day17 <物件陣列的定義與使用>Java物件陣列
- 查詢構造器結果--物件陣列互轉方法物件陣列
- Android WebView —— Java 與 JavaScript 互動總結AndroidWebViewJavaScript
- scala陣列與java陣列對比陣列Java
- 常用Java集合類總結Java
- java集合物件排序總結Java物件排序
- Java集合學習總結Java
- Java Collection、Map集合總結Java
- JS陣列方法總結JS陣列
- JS陣列API總結JS陣列API