Java에서 ArrayList 복사
- ArrayList를 다른 ArrayList의 생성자에 전달하여 다른 ArrayList에 복사
-
addAll()
기능을 사용하여 ArrayList를 다른 곳에 복사 -
Java 8
Stream
을 사용하여 ArrayList 복사 -
clone()
메서드를 사용하여 ArrayList를 다른 곳에 복사
이 기사에서는 ArrayList를 Java의 다른 ArrayList에 복사하는 네 가지 방법을 소개합니다. 모든 예제에서 동일한 요소를 사용하여 다른 메서드를 사용하여 ArrayList를 복사합니다.
ArrayList를 다른 ArrayList의 생성자에 전달하여 다른 ArrayList에 복사
Java의 ArrayList는 세 가지 유형의 생성자를 가질 수 있습니다. 초기 크기의 빈 생성자를 사용하여 ArrayList 객체를 만들거나 컬렉션의 요소를 사용하여 ArrayList가 생성되는 컬렉션을 만들 수 있습니다.
세 번째 유형의 생성자를 사용합니다. 먼저 빈 생성자로 ArrayList names1
을 만든 다음 임의의 이름을 추가합니다. 새로운 ArrayList names2
를 만들어 names1
의 요소를 복사하고 names1
을 생성자 new ArrayList<>(names1)
에 전달합니다.
마지막으로 각 요소를 인쇄하는forEach
를 사용하여 전체names2
ArrayList를 인쇄합니다.
import java.util.ArrayList;
public class CopyArrayList {
public static void main(String[] args) {
ArrayList<String> names1 = new ArrayList<>();
names1.add("Alan");
names1.add("Alex");
names1.add("Bob");
names1.add("Bryan");
names1.add("Cathy");
names1.add("Drake");
ArrayList<String> names2 = new ArrayList<>(names1);
names2.forEach(System.out::println);
}
}
출력:
Alan
Alex
Bob
Bryan
Cathy
Drake
addAll()
기능을 사용하여 ArrayList를 다른 곳에 복사
ArrayList에는 Collection
을 인수로 사용하고 기존 요소가있는 경우 지정된 컬렉션의 요소를 ArrayList의 끝에 추가하거나 추가하는 addAll()
함수가 함께 제공됩니다. ArrayList는 ArrayList names1
을addAll()
메소드의 인수로 사용할 수있는Collection
을 구현합니다.
names1
에는 새로 생성 된 빈 Arraylist names2
에 복사해야하는 몇 가지 요소가 있습니다. 그리고 그것은names2.addAll(names1)
에 의해 이루어집니다. 출력에는names2
의 복사 된 요소가 표시됩니다.
import java.util.ArrayList;
public class CopyArrayList {
public static void main(String[] args) {
ArrayList<String> names1 = new ArrayList<>();
names1.add("Alan");
names1.add("Alex");
names1.add("Bob");
names1.add("Bryan");
names1.add("Cathy");
names1.add("Drake");
ArrayList<String> names2 = new ArrayList<>();
names2.addAll(names1);
names2.forEach(System.out::println);
}
}
출력:
Alan
Alex
Bob
Bryan
Cathy
Drake
Java 8 Stream
을 사용하여 ArrayList 복사
이 예에서는 Java 8에 도입 된 새로운Stream API
를 사용합니다. 요소가있는 ArrayList를 만든 다음names1
로stream()
메서드를 호출하여collect()
메서드와 같은 스트림 메서드를 사용합니다. 스트림을 수집하고Collectors.toList()
를 사용하여 목록으로 접습니다.
이 스트림은 ArrayList로 캐스트되어야하는 목록을 반환합니다.
import java.util.ArrayList;
import java.util.stream.Collectors;
public class CopyArrayList {
public static void main(String[] args) {
ArrayList<String> names1 = new ArrayList<>();
names1.add("Alan");
names1.add("Alex");
names1.add("Bob");
names1.add("Bryan");
names1.add("Cathy");
names1.add("Drake");
ArrayList<String> names2 = (ArrayList<String>) names1.stream().collect(Collectors.toList());
names2.forEach(System.out::println);
}
}
출력:
Alan
Alex
Bob
Bryan
Cathy
Drake
clone()
메서드를 사용하여 ArrayList를 다른 곳에 복사
마지막 메서드는 네이티브ArrayList
메서드 인clone()
메서드입니다. 요소를 복사하고 이전 솔루션과 유사한 새 목록을 반환합니다. 요소로 ArrayList를 만들고clone()
메서드를 호출합니다. 마지막으로 반환 된 결과를ArrayList<String>
으로 캐스팅하여 원하는 결과를 얻습니다.
import java.util.ArrayList;
public class CopyArrayList {
public static void main(String[] args) {
ArrayList<String> names1 = new ArrayList<>();
names1.add("Alan");
names1.add("Alex");
names1.add("Bob");
names1.add("Bryan");
names1.add("Cathy");
names1.add("Drake");
ArrayList<String> names2 = (ArrayList<String>) names1.clone();
names2.forEach(System.out::println);
}
}
출력:
Alan
Alex
Bob
Bryan
Cathy
Drake
Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedIn