java中List和Array相互轉換

2021-09-07 15:29:39 字數 1319 閱讀 5412

list 提供了toarray的介面,所以可以直接呼叫轉為object型陣列

listlist = new arraylist();

object array=list.toarray();

上述方法存在強制轉換時會拋異常,下面此種方式更推薦:可以指定型別

string array=list.toarray(new string[list.size()]);

最簡單的方法似乎是這樣

string array = ;

list

list =arrays.aslist(array);

//但該方法存在一定的弊端,返回的list是arrays裡面的乙個靜態內部類,該類並未實現add,remove方法,因此在使用時存在侷限性

public

static

listaslist(t... a)

解決方案:

1、運用arraylist的構造方法是目前來說最完美的作法,**簡潔,效率高:listlist = new arraylist(arrays.aslist(array));

listlist = new arraylist(arrays.aslist(array));

//

arraylist構造方法原始碼

public arraylist(collection<? extends e>c)

2、運用collections的addall方法也也是不錯的解決辦法

listlist = new arraylist(array.length);

collections.addall(list, array);

其實自己實現乙個分隔list或者陣列的方法也並不複雜,但強大的第三方庫自然提供的有此類似的功能

//

org.apache.commons.lang3.stringutils.join(iterable<?>, string)

stringutils.join(list, ","

)//org.apache.commons.lang3.stringutils.join(object, string)

stringutils.join(array, "

,")

python中list和array的區別

numpy.array可以專門表示二維或多維資料 b np.array a b array 1,2,3 4,5,6 7,8,9 總結兩點不同的地方 1.元素型別 list是python的基本資料型別,它的元素型別可以不同。如 1,2,a 3,4 array是numpy的一種資料型別,所包含的元素型別...

Array和List的區別

array和list都屬於順序表。因為list是乙個鍊錶,所以我需要從第乙個元素開始逐個next到所需索引的元素。這是乙個耗時的過程。陣列必須要在初始化時分配固定的大小,比如說int a new int 3 如果我們僅僅寫int a new int 編譯器就會無情地給我們報錯。但是list由於空間不...

Array和List的異同

array和list的異同 array的建立格式是 型別 eg string array new string 5 可以在建立時限定長度,但在後面使用中不可以更改。直接賦值 不適用於二維陣列 引用賦值。只能選其一,且不能重複賦值。可以放基本型別資料和物件。list建立格式是 型別 泛型 eg lis...