상세 컨텐츠

본문 제목

[JAVA] ArrayList add(), Collections.sort(), contains() , retainAll()

java

by aries574 2017. 11. 24. 00:24

본문


ArrayList : List 인터페이스를 구현하는 클래스

중복허용 , 저장순서 유지

 1. 객체 생성

ArrayList list1 = new ArrayList(10);

 

 
 
 
 
 
 
2. list1객체 저장 ( add(Object o)메소드를 통해 객체를 저장한다)
 
 
		list1.add(new Integer(5));
		list1.add(new Integer(4));
		list1.add(new Integer(3));
		list1.add(new Integer(2));
		list1.add(new Integer(1)); // list1 5개 담기
 
ArrayList는 저장순서를 지키므로 list1에는 [5,4,3,2,1] 순서로 저장된다.

 

 
3. list2 객체생성 및 저장 ( list1에 있는 객체를 가져다가 list2에 저장 )
 
 
 
ArrayList list2 = new ArrayList(list1.subList(1, 4));
 
 
list1.subList(1, 4) list1에서 1번째부터 4번째 객체 반환
 
list1에 있는 1,2,3 번째 사이에 있는 객체를 list2에 저장한다.
 
list2 : [4,3,2]
 
 
 
4. 객체 정렬 ( Collections.sort()를 통해 정렬한다 )
 
 
		Collections.sort(list1); // 정렬 오름차순
		Collections.sort(list2); // 정렬 오름차순
 
 
list1, list2에 있는 객체를 정렬해준다
 
list1 : [1,2,3,4,5]
 
list2 : [2,3,5]
 
 
5. list2에 추가 저장
 
		list2.add("B");
		list2.add("C");
		list2.add(3,"A");
 
list2 : [2,3,4,A,B,C]
 
 
 
6. list1에서 list2랑 공통된 객체만 남기고 삭제
list1.retainAll(list2);
 
 
 
 
 
 
 
 
 
 
 
list1에서 list2랑 중복된 객체는 2,3,4 이므로 2,3,4 나머지를 삭제
 
list1 : [2,3,4]
 
list2 : [2,3,4,A,B,C]
 
 
 
7. list2에서 list1이랑 공통된 객체만 삭제
 
		for(int i= list2.size() -1; i >= 0; i--){

			if(list1.contains(list2.get(i))){

				list2.remove(i);
			}
		}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
list1 : [2,3,4]
 
list2 : [A,B,C]
반응형

관련글 더보기

댓글 영역