2 분 소요

2023. 01. 19. 수업내용 정리

자료구조 관련 클래스


자료구조 관련 클래스



Collections

  • Collections(클래스,java.lang.Collections)클래스는 유틸리티 클래스(객체화가 안되는) 중 하나로, Collection(java.util.Collection)과 관련된 유용한 기능을 가지고 있다.
  • 객체 메서드 : 유틸리티 클래스는 객체 메서드를 가지지 않는다.
  • 정적 메서드
    • <T>addAll(Collection<? super T> c, T... ts) : Collection<T> 타입의 c 객체에 ts가 가진 T타입의 인자를 모두 추가한다.
    • <T>copy(List<? super T> dest, List<? extends T> source) : source가 가진 인자를 dest에 복사한다. 단, dest의 길이는 source의 길이 이상이어야 한다.
    • <T>fill(List<? super T> c, T t) : c가 가진 모든 인자를 t로 변경한다.
    • frequency(Collection<?> C, Object o) : c 가 가진 모든 인자 중 전달 받은 oequals() 호출 결과가 true 인것의 개수(int)를 반환한다.
    • <T>replaceAll(List<T> C, T o, T n): c가 가지는 모든 인자 중에 oequals()true인 인자들을 모두 n으로 대체한다.
    • reverse(List<?> c) : c가 가지는 인자들의 순서를 뒤집는다.
    • <T>reverseOrder() : sort() 메서드에 활용할 수 있는 Comparator<T> 객체를 반환한다. 내림차순 정렬을 위해 사용한다.
    • shuffle(List<?> c) : c가 가지는 인자들의 순서를 무작위로 섞는다.
    • <T>sort(List<T> c) : c가 가지는 인자를 오름차순으로 정렬한다.
    • <T>sort(List<T> c, Comparator<? super T> p): c가 가지는 인자를 주어진 비교자 p의 기준에 맞게 정렬한다.
    • <T>unmodifiableCollection(List<? extends T> c) : c 객체가 가지는 인자를 그대로 가지는 새로운 Collection 객체를 반환한다. 단, 반환된 객체의 인자 변경은 불가능하다.
    • <T>unmodifiableList(List<? extends T> c) : c 객체가 가지는 인자를 그대로 가지는 새로운 List 객체를 반환한다. 단, 반환된 객체의 인자 변경은 불가능하다.
    • <K, V>unmodifiableMap(Map<? extends K, ? extends V> c) : c 객체가 가지는 인자를 그대로 가지는 새로운 Map 객체를 반환한다. 단, 반환된 객체의 인자 변경은 불가능하다.
    • <T>unmodifiableSet(Set<? extends T> c) : c 객체가 가지는 인자를 그대로 가지는 새로운 Set 객체를 반환한다. 단, 반환된 객체의 인자 변경은 불가능하다.



Arrays

  • Arrays(클래스, java.util.Arrays)클래스는 기본 자료형인 배열([])및 리스트(java.util.List)등과 관련된 편의 사항을 제공하는 유틸리티 클래스이다.
  • 정적 메서드
    • <T>asList(T...ts) : T에 대한 배열(T[])을 T에 대한 java.util.List 객체(List<T>)로 반환한다.
    • <T>compare(T[] a, T[] b) : 전달된 배열 ab의 길이가 같고 각 순서에 동일한 인자가 들어있을 경우 0을 반환한다. ab보다 작을 경우 음수를,ab보다 클 경우 양수를 반환한다.
    • <T>copyOf(T[] a, int s) : 전달 받은 배열 a의 인자를 그대로 가지는 길이가 s인 새로운 배열을 반환한다. 단, 전달 받은 배열의 길이가 s보다 크다면 후순위에 있는 인자를 자르고(Truncation), s가 배열의 길이보다 크다면, 빈 공간을 기초 타입의 기본 값으로 채운다(Padding).
    • <T>copyOfRange(T[] a, int s, int t) : <T>copyOf(...)와 용법은 비슷하나 길이가 아닌 인덱스 범위를 직접 지정해주는 부분이 다르다. 순번 s부터 t 앞 까지의 내용만을 가지는 새로운 배열을 반환한다.
    • <T>equals(T[] a, T[] b) : <T>compare(...)의 결과 값이 0인가에 대한 여부(boolean)를 반환한다. 즉, ab의 길이 및 인자의 순서가 모두 같아야 true가 반환된다.
    • fill(?[] a, ? b) : 어떤 타입의 배열 a의 모든 칸을 동일한 타입의 값 b로 채운다.
    • <T>mismatch(T[] a, T[] b) : ab 배열을 첫 순번 부터 비교하여 같은 순번하에 그 값이 다른 순번을 반환한다. 모든 순번하의 값이 같다면 -1을 반환한다.
    • <T>sort(T[] ts) : 배열 ts가 가지는 값을 오름차순 정렬한다. 만약 T가 참조타입이라면 Comparable에서 정의하는 값으로 비교한다.
    • <T>sort(T[] ts, Comparator<? super T> c) : 배열 ts가 가지는 값을 c의 기준에 따라 정렬한다.
    • <T>stream(T[] ts) : Stream API를 사용하기 위한 ts에 대한 Stream 객체를 반환한다.



List

  • 저적 메서드
    • <T>copyOf(Collection<? extends T> c) : c가 가진 인자를 동일하게 가지는 새로운 수정 불가능한(Unmodifiable) List<T> 객체를 반환한다.
    • of() : 인자를 가지지 않는 새로운 List<T> 객체를 반환한다.
    • <T>of(T... ts) T[]ts가 가지는 인자를 인자로 가지는 수정 불가능한(Unmodifiable) List<T> 객체를 반환한다.

태그:

카테고리:

업데이트:

댓글남기기