There are several ways to copy a list of elements into another list.
Create a list by passing another list as a constructor parameter.
List<String> copyOflist = new ArrayList<>(list);
Create a list and add all elements of the source list to it using the addAll method.
List<String> copyOfList = new ArrayList<>(); copyOfList.addAll(list);
Use the Collections.copy method to copy the contents of the source list to the target list. If an index exists, existing elements will be overwritten.
Collections.copy(copyOfList, list);
Use a stream to create a copy of the list.
List<String> copyOfList = list.stream().collect(Collectors.toList());
The following is an example to explain using various methods to create a copy of a List object.
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<Integer> list = Arrays.asList(1, 2, 3, 4, 5); System.out.println("Source: " + list); List<Integer> copyOfList1 = new ArrayList<>(list); System.out.println("Copy 1: " + copyOfList1); List<Integer> copyOfList2 = new ArrayList<>(); copyOfList2.addAll(list); System.out.println("Copy 2: " + copyOfList2); List<Integer> copyOfList3 = Arrays.asList(6, 7, 8, 9, 0 ); Collections.copy(copyOfList3, list); System.out.println("Copy 3: " + copyOfList3); List<Integer> copyOfList4 = list.stream().collect(Collectors.toList()); System.out.println("Copy 4: " + copyOfList4); } }
This will produce the following results −
Source: [1, 2, 3, 4, 5] Copy 1: [1, 2, 3, 4, 5] Copy 2: [1, 2, 3, 4, 5] Copy 3: [1, 2, 3, 4, 5] Copy 4: [1, 2, 3, 4, 5]
The above is the detailed content of How to copy a list in Java?. For more information, please follow other related articles on the PHP Chinese website!