ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • JAVA Collections 클래스의 유용한 메소드들
    JAVA 2022. 4. 15. 01:22

    알고리즘 문제를 풀다가 "아, 이 기능 있었으면 참 좋을텐데..."싶은 기능들을 검색해보면

    Collections 클래스의 메소드들 안에 들어있는 경우가 많았다.

    문제를 풀다가 기억해두면 좋겠다 싶어서 글을 작성한다. 새로운 기능을 써보면 계속 추가할 예정이다.

     

    메소드 설명은 공식문서를 참고했다.

     

    Collections 클래스의 모든 메소드는 정적 메소드이다.

    다형성을 이용해(문서에서는 다형성 알고리즘을 포함하고 있다고 표기되었다.) 컬렉션에서만 쓸 수 있고, 컬렉션을 다른 컬렉션으로 반환해주거나("Wrapper"기능이라고 하는데, map을 entryset으로 뽑아내 set으로 반환해주는 등의 기능들을 말하는 것 같다.) 기타 기능들을 제공한다고 한다.

     

    참고로 "Collection"과는 다른 것이다!!

    Collection은 인터페이스고 Collections는 정적메소드로 이루어진 클래스다.

     

     

     


     

     

    (1) addAll

    addAll : add()가 요소 하나만을 추가해주는 것이었다면 addAll은 데이터를 통채로 추가하는 방식이다.

    예를들어, Arraylist 객체를 이 메소드의 매개변수로 넣어주면, 해당 Arraylist에 있는 모든 데이터를 다른 Arraylist에

    추가할 수 있다!! 일일히 포문돌려서 add로 추가하지 않아도 된다. 


    (2) asLifoQueue

    덱을 큐로 전환해주는 메소드.


    (3) max, min

    컬렉션의 최대/최소값을 반환해준다.

    매개변수로 컬렉션만 넣을 경우 natural ordering 규칙대로 정렬된다고 한다.

    natural ordering(자연정렬) 이란?

    컴퓨팅 용어 중 하나.
    문자열을 알파벳 순서로 정렬하는 것.
    단, 여러 자리 숫자는 원자 단위로 처리됨. 즉, 단일 문자인 것처럼 처리된다. - 위키백과

    찾아보니 어렵게 설명되어있는데, 쉽게 말해 사람이 정렬한 것처럼 정렬한다고 생각하면 된다.

    두번째 매개변수로 comparator를 사용해 임의로 정렬을 지정할 수도 있다.


    (4) replaceAll

    리스트 안의 특정 값을 새로운 값으로 모두 대체해준다.


    (5) reverse

    리스트의 요소들의 순서를 뒤집어준다.

    정렬과는 상관없이 그냥 해당 요소들의 순서만 정반대로 해준다!!


    (6) reverseOrder

    아까 위에서 언급했던 natural ordering의 역순으로 정렬해준다.

    comparator를 사용해 정렬방식을 지정한다.


    (7) sort

    리스트를 정렬할 때 사용하는 메소드.

    comparator를 사용해 정렬방식을 지정한다.

     

     

    댓글

Designed by Tistory.