list 陣列轉化實現

2021-09-10 03:44:40 字數 916 閱讀 4872

今天碼**時遇到乙個問題:

string -->list

在string陣列轉化為list集合的時候,由於jdk本身提供了array.aslist(string strs);就直接拿listlist = arrays.aslist(strs);

如果需要對轉化後list集合進行set()、add()、remove()時,需要注意:

在遍歷操作時(注意如果刪除或新增集合元素,千萬不要用for遍歷集合時進行刪除操作,否則出現concurrentmodificationexception併發修改異常);

在使用:iteratorit = list.iterator();while(it.hasnext()) 時,發現一直報unsupportedoperationexception,不支援的操作異常,debug發現在it.remove()是丟擲,發現竟是arrays.aslist()的"坑",仔細研究arrays.aslist()發現了問題:直接呼叫arrays.aslist()方法arrays類繼承的是abstractlist(private static class arraylistextends abstractlist),當重寫父類的add()、remove()、set()時,直接throw new unsupportedoperationexception();因此出現了上文所提到的問題。

如果需要對arrays.aslist()的list進行操作,應該是listlist = new arraylist(arrays.aslist(strs));這樣就可以進行迭代刪除。

list --> string

list.toarray();預設返回object陣列;當需要轉化為string陣列時,需要注意list.toarray(t a);返回定義的型別。如:

string strs = list.toarray(new string[list.size()])即可。

List,陣列,map,set 相互轉化

list 陣列 listlist new arraylist list.add tom list.add jerval list.add weisi object objects list.toarray 返回object陣列 system.out.println objects arrays.to...

Scala實現List陣列加法

scala實現list陣列加法 1.如下 scala arr list list 1,2,3 list 3,4,5 list 2 list 0 scala arr1 arr.flatten scala arr.aggregate 10 x,y x y.sum,m,n m n scala arr1.a...

List轉換陣列 陣列轉換List

陣列轉list package listtoarray import j a.util.arraylist import j a.util.arrays import j a.util.collections import j a.util.list import j a.util.stream.c...