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

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

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

在Java中,初始化ArrayList時(shí)直接賦值有以下幾種常見(jiàn)方式:

構(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)部類(不常用且可能引起混淆,實(shí)際編程中很少這樣用):

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

注意:這種方式利用了匿名內(nèi)部類的實(shí)例初始化塊,但不是標(biāo)準(zhǔn)做法,因?yàn)樗`反了“面向接口”的編程原則,且可能導(dǎo)致代碼難以理解。

通過(guò)循環(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);

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

附:ArrayList兩個(gè)對(duì)象之間的賦值

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

這種方法只是將list2的地址賦值給了list1。也就是list1的地址指向了list2的地址,也就是兩個(gè)list相當(dāng)于一個(gè)list,因?yàn)樗麄冎赶蛄送粋€(gè)地址值。而原來(lái)的list1的原先對(duì)象會(huì)被垃圾回收機(jī)制回收掉。

正確的賦值方法是:

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

總結(jié)

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

相關(guān)文章

最新評(píng)論