Java

Collection, Collections의 차이

dev.jelee 2024. 10. 29. 12:00

생각

권한 부여에 대하여 수업을 듣는 도중 UserDetails 관련하여 클래스를 작성하다가 return문에서 Collections.singletonList(new SimpleGrantedAuthority(user.getRole()))); 이 부분에서 Collection이라고 오타를 냈다. 

Collection은 인터페이스이고 Collections는 유틸리티 클래스로 설명이 있는데 비슷한 글자인데 무슨 차이가 있는지 궁금해서 찾아보았다.


Collection

  • 설명: Collection은 자바의 컬렉션 프레임워크에서 제공하는 인터페이스 중 하나다. 여러 객체를 그룹으로 다루기 위해 사용된다.
  • 용도: 리스트, 세트 등 다양한 컬렉션의 기본 인터페이스로, 여러 가지 컬렉션 클래스가 이 인터페이스를 구현하고 있다.
  • 예시: List, Set, Queue 등.
import java.util.Collection;

Collection<String> collection = new ArrayList<>();

 


Collections

  • 설명: Collections는 유틸리티 클래스로, 여러 가지 정적 메서드를 제공하여 컬렉션을 다루는 데 도움을 준다.
  • 용도: 정렬, 검색, 동기화 같은 다양한 작업을 수행할 수 있는 메서드를 제공.
  • 예시: Collections.sort(), Collections.reverse(), Collections.emptyList() 등.
import java.util.Collections;
import java.util.List;

List<String> list = new ArrayList<>();
Collections.sort(list);  // 리스트 정렬

 

요약을 하자면 

  • Collection은 컬렉션을 정의하는 인터페이스. 리스트, 세트 같은 메서드 사용.
  • Collections는 컬렉션을 다루는 유틸리티 메서드를 제공하는 클래스. 정렬, 검색, 동기화 같은 메서드 사용.