728x90
[ Collections Class ]
- 모두 static 메소드로 구성됨
- 컬렉션 타입의 객체에 대한 객체생성, 정렬, 병합, 검색 등의 알고리즘을 구현
컬렉션 프레임워크의 기본 개념과 배열 사용법은 아래 링크글을 참조하시면 됩니다.
2019/12/10 - [JAVA/기본 문법] - 컬렉션 프레임워크(컬렉션 API)_기본 개념 [1/4]
2019/12/10 - [JAVA/기본 문법] - 컬렉션 프레임워크(컬렉션 API)_MAP 계열 [2/4]
2019/12/11 - [JAVA/기본 문법] - 컬렉션 프레임워크(컬렉션 API)_Set 계열 [3/4]
2019/12/11 - [JAVA/기본 문법] - 컬렉션 프레임워크(컬렉션 API)_배열 다루기 [4/4]
[ max() / min() ]
- 지정된 컬렉션의 가장 큰 요소 / 가장 작은 요소를 반환
package study.first;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
public class Main {
public static void main(String[] args) {
// 배열 및 List 타입 인스턴스 생성
Integer[] list = { 1123, 1412, 23, 44, 512132 };
List<Integer> arr = new ArrayList<>(Arrays.asList(list));
System.out.println(Collections.max(arr)); // 512132
System.out.println(Collections.min(arr)); // 23
}
}
[ sort() ]
- 지정된 컬렉션을 오름차순으로 정렬
package study.first;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
public class Main {
public static void main(String[] args) {
// 배열 및 List 타입 인스턴스 생성
Integer[] list = { 1123, 1412, 23, 44, 512132 };
List<Integer> arr = new ArrayList<>(Arrays.asList(list));
Collections.sort(arr);
System.out.println(arr); // [23, 44, 1123, 1412, 512132]
}
}
[ shuffle() ]
- 지정된 컬렉션의 값을 랜덤으로 뒤섞어줌
package study.first;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
public class Main {
public static void main(String[] args) {
// 배열 및 List 타입 인스턴스 생성
Integer[] list = { 1123, 1412, 23, 44, 512132 };
List<Integer> arr = new ArrayList<>(Arrays.asList(list));
Collections.shuffle(arr);
System.out.println(arr); // [23, 1412, 512132, 1123, 44]
Collections.shuffle(arr);
System.out.println(arr); // [1412, 23, 44, 1123, 512132]
}
}
[ binarySearch() ]
- 지정된 컬렉션의 값 찾아줌
- indexOf() 메소드와 동일
- 이진 적색 알고리즘을 사용해 인덱스 0 → 끝 순서로 값을 검색해서 최초 검색된 값의 인덱스를 반환
package study.first;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
public class Main {
public static void main(String[] args) {
// 배열 및 List 타입 인스턴스 생성
Integer[] list = { 1123, 1412, 23, 44, 512132 };
List<Integer> arr = new ArrayList<>(Arrays.asList(list));
System.out.println(Collections.binarySearch(arr, 44)); // 3
}
}
[ disjoint() ]
- 두 개의 컬렉션을 비교해서 일치하는 값이 하나도 없으면 true, 하나라도 있으면 false 반환
package study.first;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
public class Main {
public static void main(String[] args) {
// 배열 및 List 타입 인스턴스 생성
Integer[] list = { 1123, 1412, 23, 44, 512132 };
List<Integer> arr = new ArrayList<>(Arrays.asList(list));
// 배열 및 List 타입 인스턴스 생성
Integer[] list2 = { 121, 23542, 123, 1, 41234 };
List<Integer> arr2 = new ArrayList<>(Arrays.asList(list2));
System.out.println(Collections.disjoint(arr, arr2)); // true
}
}
[ copy() ]
- 지정된 컬렉션의 모든 요소를 새로운 컬렉션으로 복사해서 반환
- copy(dest, source)로 인자 전달
- dest.size()가 source.size()보다 작으면 에러
- 특이한점은 전체 배열의 크기가 아닌, size()를 기준으로 에러 여부가 발생하는 점에 유의
- 기존 dest 배열의 앞쪽에 삽입
package study.first;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class Main {
public static void main(String[] args) {
// 배열 및 List 타입 인스턴스 생성
List<Integer> source = new ArrayList<>();
source.add(1000);
source.add(2000);
System.out.println(source.size()); // 2
List<Integer> dest = new ArrayList<>();
dest.add(10);
System.out.println(dest.size()); // 1
// dest.size() == 1 < source.size() == 2인 상태, 에러
// Collections.copy(dest, source);
// System.out.println(dest);
dest.add(100);
dest.add(101);
System.out.println(dest.size()); // 2
// size()를 source와 같거나 크게 증가시키면 정상작동
Collections.copy(dest, source);
System.out.println(dest); // [1, 2, 101]
}
}
[ reverse() ]
- 지정된 컬렉션의 순서를 역으로 변경
package study.first;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
public class Main {
public static void main(String[] args) {
// 배열 및 List 타입 인스턴스 생성
Integer[] arr = {1,2,3,4,5};
List<Integer> list = new ArrayList<>(Arrays.asList(arr));
System.out.println(list); // [1, 2, 3, 4, 5]
Collections.reverse(list);
System.out.println(list); // [5, 4, 3, 2, 1]
}
}
728x90
'▸JAVA > 라이브러리(API)' 카테고리의 다른 글
java.io.FileOutputStream 주요 메소드 [1/1] (2) | 2019.12.15 |
---|---|
java.io.FileInputStream 주요 메소드 [1/1] (2) | 2019.12.15 |
java.util.TreeSet 주요 메소드 [1/1] (2) | 2019.12.11 |
java.util.HashSet 주요 메소드 [1/1] (2) | 2019.12.11 |
java.util.TreeMap 주요 메소드 [1/1] (2) | 2019.12.11 |
댓글