사랑해 마니마니

Comparator 본문

java

Comparator

분리불안증후군 2018. 1. 29. 23:07

Array 소팅하기

Arrays.sort() 

static void sort(배열)

 String [] input = {"1", "김", "000", "0", "1"};
 Arrays.sort(input); // uni code 순서로 소팅

소팅 규칙을 주고 싶으면 Comparator를 사용

static <T> void sort(배열, Comparator<? super T> c)

java.util.Comparator interface의 compare를 구현해 주어야 함.
  
compare: int compare(T o1, T o2)
  
return 값:

  • o1 < o2 then return -값
  • o1 = o2 then return 0
  • o1 > 02 then return +값
 //구현은 익명 클래스를 쓰는 게 편함
 Comparator<String> comparator = new Comparator<String>() {
   @Override
   public int compare(String o1, String o2) {
     return (o1.length() - o2.length) * -1;    // 길이의 역순으로 정열하기 위해
    }
  };             
  
 Arrays.sort(input, comparator);
 Collections.sort(inputList, comparator);

 

Comments