欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java基礎(chǔ)之初始化ArrayList時直接賦值的4種方式總結(jié)

 更新時間:2024年07月24日 10:01:50   作者:學亮編程手記  
ArrayList是Java中的一個類,它是Java集合框架中的一部分,用于實現(xiàn)動態(tài)數(shù)組,下面這篇文章主要給大家介紹了關(guān)于java基礎(chǔ)之初始化ArrayList時直接賦值的4種方式,文中通過代碼介紹的非常詳細,需要的朋友可以參考下

在Java中,初始化ArrayList時直接賦值有以下幾種常見方式:

構(gòu)造器傳入集合:

List<String> list = new ArrayList<>(Arrays.asList("item1", "item2", "item3"));

或者在Java 9及以上版本中使用List.of()方法創(chuàng)建不可變列表:

List<String> list = new ArrayList<>(List.of("item1", "item2", "item3"));

使用匿名內(nèi)部類(不常用且可能引起混淆,實際編程中很少這樣用):

// 不推薦此做法,僅作展示
ArrayList<String> list = new ArrayList<String>() {{
    add("item1");
    add("item2");
    add("item3");
}};

注意:這種方式利用了匿名內(nèi)部類的實例初始化塊,但不是標準做法,因為它違反了“面向接口”的編程原則,且可能導致代碼難以理解。

通過循環(huán)或流API填充:

// 循環(huán)添加
List<Integer> list = new ArrayList<>();
for (int i = 0; i < 5; i++) {
    list.add(i);
}

// Java 8+ 使用Stream API
List<Integer> list2 = Stream.of(1, 2, 3, 4, 5).collect(Collectors.toCollection(ArrayList::new));

使用addAll方法:

List<Integer> initialData = Arrays.asList(1, 2, 3);
List<Integer> list = new ArrayList<>();
list.addAll(initialData);

通常最常見的是方式一是直接在構(gòu)造ArrayList時傳入已有的集合,這種方式簡潔高效。不過,如果初始數(shù)據(jù)較小并且已知,直接在聲明時初始化也是最佳實踐之一。對于較大的數(shù)據(jù)集或者動態(tài)生成的數(shù)據(jù),使用循環(huán)或流API則更為靈活。

附:ArrayList兩個對象之間的賦值

List<String> list1 = new ArrayList<String>();
List<String> list2 = new ArrayList<String>();
list1 = list2;

這種方法只是將list2的地址賦值給了list1。也就是list1的地址指向了list2的地址,也就是兩個list相當于一個list,因為他們指向了同一個地址值。而原來的list1的原先對象會被垃圾回收機制回收掉。

正確的賦值方法是:

List <String> list1 = new ArrayList<String>();
//方法一:利用集合自帶的構(gòu)造方法
List<String> list2= new ArrayList<String>(list1);
//方法二:利用克隆的方法進行賦值
List<String> list2 =(ArrayList<String>) list1.clone();

總結(jié)

到此這篇關(guān)于java基礎(chǔ)之初始化ArrayList時直接賦值的4種方式的文章就介紹到這了,更多相關(guān)java初始化ArrayList時直接賦值內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論