컬렉션 프레임웍 중에
Collection 인터페이스에 속하는 ArrayList
중복 O 순서 O
package JavaChapter11;
import java.util.ArrayList;
import java.util.Collections;
public class Ex11_1 {
public static void main(String[] args) {
ArrayList list1 = new ArrayList(10);
list1.add(new Integer(5));
list1.add(new Integer(4));
list1.add(new Integer(2));
list1.add(new Integer(0));
list1.add(new Integer(1));
list1.add(new Integer(3));
ArrayList list2 = new ArrayList(list1.subList(1,4)); //list1의 인덱스1~3까지 반환 : 4,2,0
print(list1, list2);
Collections.sort(list1); //Collections.sort란?
Collections.sort(list2); //list를 기본정렬 시켜준다
System.out.println("list1.containsAll(list2):"
+list1.contains(list2)); //list1의 모든 요소를 list2가 가지고 있나요? : false
list2.add("B");
list2.add("C");
list2.add(3,"A"); //list2[3]에 "A"넣고, 다른 객체는 한칸씩 뒤로 밀림
print(list1, list2); //list2:4, 2, 0, A, B, C
// set(변경)
list2.set(3, "AA"); //list2[3]을 "AA"로 변경(안밀림)
print(list1, list2); //list2:4, 2, 0, AA, B, C
//list1에서 list2와 겹치는 부분 빼고 삭제
//list1에서 list2와의 교집합 빼고 삭제
System.out.println("list1.retainAll(list2):"+list1.retainAll(list2));
print(list1,list2); //list1:4,2,0
//list2에서 list1에 포함된 객체 삭제(교집합을 삭제)
for(int i=list2.size()-1; i>=0 ;i--) {
if(list1.contains(list2.get(i))) //contains :오른쪽(list2)이 왼쪽(list1)에 포함 되어 있나요?
list2.remove(i); //포함 되어 있으면 list2 객체 삭제
}
print(list1, list2);
}
static void print(ArrayList list1, ArrayList list2) { //간편하게 리스트를 출력해주는 메소드
System.out.println("list1:"+list1);
System.out.println("list2:"+list2);
System.out.println();
}
}
예제에 쓰인 메서드들
list.add() 추가
list.remove() 삭제
list.set() 변경
list.get(i) i번째 객체 가져오기
list.size() 객체 몇개가 들어있나요?
list1.contains(list2.get(i)) // 객체 하나씩 검색(list1에 list2.get(i)가 포함되어 있나요?) <<<비추
list1.containsAll(list2) // 한꺼번에 검색 (list1에 list2가 포함되어 있나요? 교집합이있나요)
list2 = list1.subList(from,to) // list2에 list1의 객체 from에서 to 전까지 추가
list1.retainAll(list2) //
Collections.sort(list) //리스트 기본 정렬
728x90
'개발공부 개발새발 > JAVA' 카테고리의 다른 글
뷰에서 컨트롤러에 데이터를 전송하는 방식은? (0) | 2022.12.29 |
---|---|
JAVA) 바이트/문자 스트림에 대한 고찰 (0) | 2022.11.04 |
JAVA) 자바의 정석 기초편 : Iterator 예제 (0) | 2022.10.21 |
JAVA) Arrays의 유용한 메서드들 (0) | 2022.10.17 |
JAVA) 클래스는 대체 어디에 생성되는 것일까? (feat.자바 메모리 종류) (1) | 2022.10.08 |