Java 배열 목록 복사: 참조 동작 이해
Java에서 컬렉션으로 작업할 때 참조 및 할당 동작을 이해하는 것이 중요합니다. ArrayList 객체 l1이 있고 해당 참조를 새 변수 l2에 할당하는 예를 생각해 보세요.
Java의 참조 할당
Java에서 객체와 관련된 할당 작업은 단순히 객체 자체가 아닌 객체의 참조를 복사합니다. 따라서 l1이 l2에 할당되면 l1과 l2는 모두 동일한 ArrayList 개체를 가리킵니다. l1 또는 l2를 통해 변경된 내용은 두 참조 모두에 반영됩니다.
예시 그림
제공된 코드 조각:
List<Integer> l1 = new ArrayList<>(); for (int i = 1; i <= 10; i++) { l1.add(i); } List l2 = l1; l2.clear();
l2의 참조를 사용하여 l1이 지워지면 l1 참조도 영향을 받습니다. 이는 l1과 l2가 모두 동일한 ArrayList 객체를 가리킨다는 것을 보여줍니다.
Java의 얕은 복사
ArrayList 객체(얕은 객체라고도 함)의 복사본을 생성하려면 복사) 특정 인수를 사용하여 ArrayList 생성자를 활용할 수 있습니다.
List<Integer> newList = new ArrayList<>(oldList);
이 접근 방식은 새로운 oldList 참조의 요소 복사본이 있는 ArrayList 개체입니다. newList에 대한 후속 수정은 oldList 참조에 영향을 주지 않으며 그 반대의 경우도 마찬가지입니다.
참조 작동 방식을 이해하고 얕은 복사와 같은 기술을 활용하면 Java에서 컬렉션을 효과적으로 조작하여 데이터 무결성을 보장하고 의도하지 않은 결과를 방지할 수 있습니다.
위 내용은 참조 및 할당은 Java의 ArrayList 복사본에 어떤 영향을 줍니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!