ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 데이터 정렬 / Collections의 sort() 메서드, shuffle() 메서드 / 2019-12-09
    JAVA 2020. 1. 15. 11:34
    728x90
    728x90

    sort() 메서드

    - Collections.sort(List<T> list)     

    - 파라미터 값으로 list객체가 필요

     => Set계열, Map계열은 List객체로 변환 후 정렬 가능

    - Collections의 데이터 정렬 기능

    - String 과 Integer는 사전 순으로 요소를 정렬하도록 구현되어있음

    ArrayList list = new ArrayList();
    list.add(50);
    list.add(42);
    list.add(1);
    list.add(5);
    list.add(16);
    list.add(2);
    
    System.out.println("정렬 전 : " + list);
    Collections.sort(list);
    System.out.println("정렬 후 : " + list);
    System.out.println();

    <결과코드>

    정렬 전 : [50, 42, 1, 5, 16, 2]
    정렬 후 : [1, 2, 5, 16, 42, 50]

    Set계열은 List객체로 변환 후 정렬 가능

    // Set 객체 생성
    HashSet set = new HashSet();
    set.add(50);
    set.add(42);
    set.add(1);
    set.add(5);
    set.add(16);
    set.add(2);
    System.out.println("정렬 전 : " + set);
    
    // Collections.sort(set); 에러 발생!
    // ArrayList 생성자에 Set 객체 넣음
    ArrayList list2 = new ArrayList(set);
    System.out.println("HashSet의 set 객체 : " + set);
    // set의 요소 담은 list2의 요소를 정렬
    Collections.sort(list2);
    System.out.println("ArrayList로 변환 후 정렬 : " + list2);

    <결과코드>

    정렬 전 : [16, 1, 50, 2, 5, 42]
    HashSet의 set 객체 : [16, 1, 50, 2, 5, 42]
    ArrayList로 변환 후 정렬 : [1, 2, 5, 16, 42, 50]

     

    shuffle() 메서드

    - Collection 객체의 요소를 섞어줌

    Collections.shuffle(list);
    System.out.println("전체 요소 출력(shuffle 후) : " + list);

    <결과코드>

    전체 요소 출력(shuffle 후) : [16, 2, 1, 42, 5, 50]

     

     

    728x90
    728x90
Designed by Tistory.