Java - Collections Class

2022. 11. 28. 17:47· 프로그래밍 언어/Java
목차
  1. 목차
  2. 1. Collections 사용 이유
  3. 2. Collections 기능

Java - Collections Class



목차

  1. Collections 사용 이유
  2. Collections 기능

1. Collections 사용 이유

Collections는 static method를 가진 class이다. 인스턴스를 생성하지 않고도 method를 가져다 쓸 수 있다.

List, Set, Map을 등을 다루는 method들이 정의 되어 있기 때문에 따로 직접 구현을 하지 않고 사용할 수 있다.

대표적으로 List를 정렬하는 method인 Collection.sort()가 있다.

즉 Collection Framework를 다룰 때 유용한 method를 제공한다.



2. Collections 기능

Collections Class에는 다양한 기능이 있지만 자주 쓰는 기능에 대해서 알아보도록 합시다!!


  1. sort(List list)
  • 리스트를 오름차순으로 정렬하고 싶을 때
List<Integer> list = new ArrayList<>(List.of(1, 4, 3, 5, 6));
// 1 4 3 5 6

Collections.sort(list);
// 1 3 4 5 6

  • 리스트를 내림차순으로 정렬하고 싶을 때
  • Collections.reverseOrder()를 이용하여 내림차순 Comparator를 사용하자!
List<Integer> list = new ArrayList<>(List.of(1, 4, 3, 5, 6));
// 1 4 3 5 6

Collections.sort(list, Collections.reverseOrder());
// 6 5 4 3 1

  1. max(Collection<? extends T> coll), min(Collection<? extends T> coll)
  • 대표적으로 List, Set과 같은 Collection이 Integer와 같이 specified comparator가 정의되어 있을 경우 최대와 최소를 얻을 수 있다.
Set<Integer> set = new HashSet<>(Set.of(1, 2, 3, 10 ,5));
List<Integer> list = new ArrayList<>(List.of(1, 4, 3, 5, 6));

System.out.println("Set의 최대: " + Collections.max(set));
// 10
System.out.println("Set의 최소: " + Collections.min(set));
// 1

System.out.println("List의 최대: " + Collections.max(list));
// 6
System.out.println("List의 최소: " + Collections.min(list));
// 1

  1. nCopies(int n, T o)
  • n개의 Object o로 구성된 immutable List를 반환한다.
  • 반환된 list는 삽입, 삭제가 불가능하다.
  • n < 0 일경우 IllegalArgumentException을 발생시킨다.
List<Integer> list = Collections.nCopies(10, 0);
// 0 0 0 0 0 0 0 0 0 0

  1. replace(List list, Object o)
  • list내 모든 원소를 변경한다.
List<Integer> list = new ArrayList<>();

list.add(2);
list.add(2);
list.add(2);

System.out.println(list);
// 출력 값: [2, 2, 2]

Collections.fill(list, 1);
System.out.println(list);
// 출력 값: [1, 1, 1]

  1. replaceAll(List list, T oldValue, T newValue)
  • 리스트 내에 있는 모든 oldValue를 newValue로 바꾼다.
  • 특정 값을 가지는 원소의 값만 변경할 수 있는 것이다.
List<Integer> list = new ArrayList<>();

list.add(2);
list.add(2);
list.add(3);
list.add(4);

System.out.println(list);
// 출력 값: [2, 2, 3, 4]

Collections.replaceAll(list, 2, 1);
// 값이 2인 모든 원소를 1로 바꾼다.

System.out.println(list);
// 출력 값: [1, 1, 3, 4]


[ 참고 문헌 ]

https://docs.oracle.com/javase/7/docs/api/java/util/Collections.html#sort(java.util.List)

저작자표시 (새창열림)

'프로그래밍 언어 > Java' 카테고리의 다른 글

Java - List의 복사 (1): Collections.unmodifiableList  (2) 2023.03.01
Java - Iterator  (0) 2022.11.29
Java - Map과 HashMap  (0) 2022.11.24
Java - Set과 HashSet  (0) 2022.11.23
Java - List와 ArrayList  (0) 2022.11.22
  1. 목차
  2. 1. Collections 사용 이유
  3. 2. Collections 기능
'프로그래밍 언어/Java' 카테고리의 다른 글
  • Java - List의 복사 (1): Collections.unmodifiableList
  • Java - Iterator
  • Java - Map과 HashMap
  • Java - Set과 HashSet
zerotoinfinite
zerotoinfinite
안녕하세요 :) 우아한테크코스 5th BE 하디입니다 잘 부탁드립니다 !
zerotoinfinite
하디의 정리 노트
zerotoinfinite
전체
오늘
어제
  • 분류 전체보기 (10)
    • 프로그래밍 언어 (8)
      • Java (8)
    • Spring - Spring Boot (1)
      • 학습 (0)
      • 의문점과 고찰 (0)
    • 운영체제 (0)
    • 네트워크 (1)
    • 데이터베이스 (0)
    • 인프라 (0)
    • 트러블슈팅 & 개선 (0)
    • 잡동사니 (0)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 스프링
  • database
  • 복사 생성자
  • map
  • RealMysql
  • Collections
  • Set
  • hashset
  • StreamAPI
  • unmodifiableList
  • deep copy
  • Copy
  • 자바
  • MySQL
  • Java
  • list
  • Collection
  • collection framework
  • HTTPS
  • 깊은 복사
  • springboot
  • DDL
  • copyOf
  • 우아한테크코스
  • 상속구조
  • HashMap
  • 컴포넌트
  • 우테코
  • datamigration
  • onlineddl

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.1
zerotoinfinite
Java - Collections Class
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.