본문 바로가기
IT Tech/Application

[java] Comparable을 이용해 Pair 클래스 정렬하기

by _><- 2021. 9. 5.
반응형

입력된 인덱스 값과 정렬된 값을 함께 저장하는 방법

import java.util.*;

class Pair implements Comparable<Pair>{     
   int index;
   int number;
   
   public Pair(int index, int number) {    // 생성자
      super();
      this.index = index;
      this.number = number;
   }
   
   // number 기준으로 오름차순
   @Override
   public int compareTo(Pair p) {
      return Integer.compare(this.num, p.number);
   }  

}

public class void main(String[] args) {
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    
    int M = Integer.parseInt(br.readLine());
    
    Pair[] pairs = new Pair[M];
    
    StringTokenizer st = new StringTokenizer(br.readLine());
    for(int i = 0; i < M; i++) {
    	int data = Integer.parseInt(st.nextToken());
        pairs[i] = new Pair(index: i+ 1, data);
    }
    
    Arrays.sort(pairs);
    
    for (Pair pairs : pairs) {
    	System.out.println(pair.index + " " + pairs.number); 
    }
}

 

참고 : https://velog.io/@namgonkim/%EC%9E%90%EB%B0%94-Comparable%EC%9D%84-%EC%9D%B4%EC%9A%A9%ED%95%B4-Pair-%ED%81%B4%EB%9E%98%EC%8A%A4-%EC%A0%95%EB%A0%AC%ED%95%98%EA%B8%B0

 

[자바] Comparable을 이용해 Pair 클래스 정렬하기

최근 코테를 Cpp에서 자바로 바꿔서 준비하면서 Cpp에 존재하는 Pair 기능이 딱히 없는 것 같았다. 해서 자바에서도 사용할 수 있게 다른 블로그들을 참고하며 Pair를 직접 만들어주었다. 헌데 Sort를

velog.io

 

반응형

'IT Tech > Application' 카테고리의 다른 글

다익스트라  (0) 2022.09.13
DDD 바운디드 컨텍스트 기반 마이크로서비스 도출  (0) 2022.02.04
[java] Array(배열)  (0) 2021.09.05
[java] Array, List(ArrayList, LinkedList)  (0) 2021.09.04
[java] Stack, Queue, ArrayDeque  (0) 2021.09.04