본문 바로가기

JAVA

Collections

Collections란?

Arrays가 배열과 관련된 메서드를 제공하는 것처럼, Collections는 컬렉션과 관련된 메서드를 제공한다.

모든 메서드가 static으로 import static java.util.Collections.*; 선언을 해주면 메서드만 적어서 사용 가능하다.

 

아래 예제를 통해 다양한 메서드를 살펴보자.

 

  • addAll(list, 1, 2, 3, 4, 5) : list에 1, 2, 3, 4, 5를 추가
  • rotate(list, 2) : list의 요소를 오른쪽으로 두 칸씩 이동
  • swap(list, 0, 2) : list의 첫 번째와 세 번째를 교환
  • shuffle(list) : 저장된 요소의 위치를 임의로 변경 (실행할 때마다 위치가 바뀜)
  • sort(list) : 오름차순 정렬
  • sort(list, reverseOrder()) : 내림차순 정렬
  • reverse(list) : 내림차순 정렬
  • binarySearch(list, 3) : list에서 3이 저장된 위치(index)를 반환
  • max(list) : 최댓값
  • min(list) : 최솟값
  • fill(list, 9) : list를 9로 채움
  • nCopies(list.size(), 2) : list와 같은 크기의 배열을 생성하고 2로 채움 -> 결과 변경 불가
  • disJoint(list, newList) : 두 list의 공통 요소가 없으면 true, 공통 요소가 있으면 false
  • copy(list, newList) : newList의 요소를 list에 복사
  • replaceAll(list, 2, 1) : list의 2를 모두 1로 변경
  • enumeration(list) : list의 내용을 출력

package java11;

import java.util.ArrayList;
import java.util.Enumeration;
import java.util.List;
import static java.util.Collections.*;

public class Ex11_19 {

	public static void main(String[] args) {
		
		List list = new ArrayList();
		System.out.println(list); // []
		
		addAll(list, 1, 2, 3, 4, 5);
		System.out.println(list); // [1, 2, 3, 4, 5]
		
		rotate(list, 2);
		System.out.println(list); // [4, 5, 1, 2, 3]
		
		swap(list, 0, 2);
		System.out.println(list); // [1, 5, 4, 2, 3]
		
		shuffle(list);
		System.out.println(list); // [3, 1, 2, 5, 4]
		
		sort(list);
		System.out.println(list); // [1, 2, 3, 4, 5]
		
		sort(list, reverseOrder());
		System.out.println(list); // [5, 4, 3, 2, 1]
		
		int idx = binarySearch(list, 3);
		System.out.println("index of 3 = " + idx); // index of 3 = 2
		
		System.out.println("max = " + max(list)); // max = 5
		System.out.println("min = " + min(list)); // min = 1
		
		fill(list, 9);
		System.out.println(list); // [9, 9, 9, 9, 9]
		
		List newList = nCopies(list.size(), 2);
		System.out.println(newList); // [2, 2, 2, 2, 2]
		
		System.out.println(disjoint(list, newList)); // true
		
		copy(list, newList);
		System.out.println("newList = " + newList); // newList = [2, 2, 2, 2, 2]
		System.out.println("list = " + list); // list = [2, 2, 2, 2, 2]
		
		replaceAll(list, 2, 1); 
		System.out.println("list = " + list); // list = [1, 1, 1, 1, 1]
		
		Enumeration e = enumeration(list);
		ArrayList list2 = list(e);
		System.out.println("list2 = " + list2); // list2 = [1, 1, 1, 1, 1]
		
	}
}

'JAVA' 카테고리의 다른 글

지네릭스  (0) 2021.01.11
Collection 클래스 정리  (0) 2021.01.10
HashMap  (0) 2021.01.08
TreeSet  (0) 2021.01.07
HashSet  (0) 2020.12.29