如何在 Java 中將一個列表複製到另一個列表?


可以透過多種方式複製一個元素的 列表 到另一個列表。

方式 #1

建立列表,方法是將另一個列表作為構造器引數傳遞。

List<String> copyOflist = new ArrayList<>(list);

建立列表並使用 addAll() 方法 新增源列表的所有元素。

方式 #2

List<String> copyOfList = new ArrayList<>();
copyOfList.addAll(list);

方式 #3

使用 Collections.copy() 方法 複製源列表的內容到目標列表。如果存在任何索引,現有的元素將被它們覆蓋。

Collections.copy(copyOfList, list);

方式 #4

使用流建立列表的副本。

List<String> copyOfList = list.stream().collect(Collectors.toList());

示例

以下是使用多種方式說明建立列表物件副本的示例 −

package com.tutorialspoint;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.stream.Collectors;

public class CollectionsDemo {
   public static void main(String[] args) {
      List<String> list = Arrays.asList("Zara","Mahnaz","Ayan" );
      System.out.println("Source: " + list);
      List<String> copyOfList1 = new ArrayList<>(list);
      System.out.println("Copy 1: " + copyOfList1);
      List<String> copyOfList2 = new ArrayList<>();
      copyOfList2.addAll(list);
      System.out.println("Copy 2: " + copyOfList2);
      List<String> copyOfList3 = Arrays.asList("Rob","Julie","John" );
      Collections.copy(copyOfList3, list);
      System.out.println("Copy 3: " + copyOfList3);
      List<String> copyOfList4 = list.stream().collect(Collectors.toList());
      System.out.println("Copy 4: " + copyOfList4);
   }
}

輸出

這將產生以下結果 −

Source: [Zara, Mahnaz, Ayan]
Copy 1: [Zara, Mahnaz, Ayan]
Copy 2: [Zara, Mahnaz, Ayan]
Copy 3: [Zara, Mahnaz, Ayan]
Copy 4: [Zara, Mahnaz, Ayan]

上次更新: 21-10-2023

26K+ 次瀏覽

開啟你的職業生涯

完成課程,獲得認證

開始
廣告
© . All rights reserved.