이름이 뭔데 이렇게 비슷하다냐..
둘 다 자바에서 제공하는 클래스지만 서로 다른 목적을 갖고 있다.
- 정적 유틸리티 클래스로 List, Set, Map 등의 컬렉션을 조작하는 다양한 메서드 제공.
- 정렬, 검색, 동기화 등의 기능이 포함되어 있다.
주요메서드
List<Integer> arr = Arrays.asList(3,2,1);
Collections.sort(arr); // [1,2,3]
Collections.sort() 에서 정렬기준을 주기 위해서 두 가지 인터페이스를 사용할 수 있다.
정렬기준은 외우고 있진 않고 그때그때 사용해보고 판단한다.
다음은 Comparator를 사용한 방법이다.
Collections.sort(arr, (a,b) -> b-a); //내림차순
- Stream API에서 사용되는 유틸리티 클래스로 스트림 결과를 List, Set, Map 등의 컬렉션으로 변환
- 주로 Stream의 결과를 수집
주요메서드
List<Integer> numbers = Arrays.asList(1,2,3,4,5);
List<Integer> evens = numbers.stream().filter(i -> i % 2==0)
.collect(Collectors.toList());