Java將不同的List集合復制到另一個集合常見的方法
在Java中,你可以使用多種方法將一個或多個List
集合的元素復制到另一個List
集合中。
以下是一些常見的方法:
使用addAll方法:
如果要將一個List
的所有元素添加到另一個List
的末尾,可以使用addAll
方法。
List<String> list1 = Arrays.asList("a", "b", "c"); List<String> list2 = new ArrayList<>(); list2.addAll(list1); // list2 現(xiàn)在包含 "a", "b", "c"
使用addAll方法添加多個List:
如果要將多個List
的元素都添加到同一個List
中,可以多次調用addAll
方法。
List<String> list1 = Arrays.asList("a", "b", "c"); List<String> list2 = Arrays.asList("d", "e", "f"); List<String> combinedList = new ArrayList<>(); combinedList.addAll(list1); combinedList.addAll(list2); // combinedList 現(xiàn)在包含 "a", "b", "c", "d", "e", "f"
使用Java 8的Stream API(如果你想要合并并處理元素):
雖然Stream API通常用于處理集合中的元素,但你也可以用它來合并List
。
List<String> list1 = Arrays.asList("a", "b", "c"); List<String> list2 = Arrays.asList("d", "e", "f"); List<String> combinedList = Stream.concat(list1.stream(), list2.stream()) .collect(Collectors.toList()); // combinedList 現(xiàn)在包含 "a", "b", "c", "d", "e", "f"
使用循環(huán):
雖然這種方法不如上面的方法優(yōu)雅,但你也可以使用循環(huán)來逐個添加元素。
List<String> list1 = Arrays.asList("a", "b", "c"); List<String> list2 = new ArrayList<>(); for (String s : list1) { list2.add(s); } // list2 現(xiàn)在包含 "a", "b", "c"
使用Collections.copy
(注意:這種方法只適用于具有相同大小的列表,并且目標列表必須預先分配好足夠的空間):
雖然Collections.copy
通常用于復制數組的內容到列表中,或者復制列表的一部分到另一個列表,但它不適合用于合并兩個不同大小的列表。
List<String> list1 = Arrays.asList("a", "b", "c"); List<String> list2 = new ArrayList<>(list1.size()); // 預先分配空間 Collections.copy(list2, list1.toArray(new String[0])); // 注意:這種方法通常不用于合并列表 // list2 現(xiàn)在包含 "a", "b", "c",但這并不是合并兩個列表的標準用法
在實際應用中,最常見的方法是使用addAll
方法或Java 8的Stream API來合并列表。
使用fastjson ,針對不同的對象實體:
List<Entity1> list1 = new ArrayList<>(new Entity1(),new Entity2()) List<Entity2> list2 = new ArrayList<>(list1.size()); // 預先分配空間 List<Entity2> list3 = JSON.parseArray(JSON.toJSONString(list1),Entity2.class);
//JSON.toJSONString(list1)先將list轉成字符串數組,然后再使用JSON.parseArray()轉成list對象數組
總結
到此這篇關于Java將不同的List集合復制到另一個集合常見的方法的文章就介紹到這了,更多相關Java不同List集合復制另一個集合內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Spring?Security?登錄時添加圖形驗證碼實現(xiàn)實例
這篇文章主要為大家介紹了Spring?Security?登錄時添加圖形驗證碼實現(xiàn)實例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-11-11Spring容器-BeanFactory和ApplicationContext使用詳解
這篇文章主要為大家介紹了Spring容器-BeanFactory和ApplicationContext的使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-04-04詳解如何在Java中重寫equals()和hashCode()方法
在 Java 中,equals() 和 hashCode() 方法是 Object 類中定義的重要方法,它們用于比較對象的相等性以及計算對象的哈希值,本文將詳細介紹如何在 Java 中重寫 equals() 和 hashCode() 方法,并討論其最佳實踐,需要的朋友可以參考下2024-08-08關于springboot 配置文件中屬性變量引用方式@@解析
這篇文章主要介紹了關于springboot 配置文件中屬性變量引用方式@@解析,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-04-04