ComparentとComparator
https://gmlwjd9405.github.io/2018/09/06/java-comparable-and-comparator.html
Javaでソートする場合、常にComparentの使用を継承しますが、この問題ではCompareatorを使用する必要がある場合もあります.Comparatorの使い方を覚えて!
Comparatorは基本的にオブジェクトをパラメータとして比較します.したがって、Comparatorでソートし、ソート・オブジェクトが元のタイプである場合は、パッケージ・クラスを使用してオブジェクトとして作成し、パラメータに渡す必要があります.
import java.util.Arrays;
import java.util.Comparator;
class Solution {
public String[] solution(String[] strings, int n) {
Javaでソートする場合、常にComparentの使用を継承しますが、この問題ではCompareatorを使用する必要がある場合もあります.Comparatorの使い方を覚えて!
Comparatorは基本的にオブジェクトをパラメータとして比較します.したがって、Comparatorでソートし、ソート・オブジェクトが元のタイプである場合は、パッケージ・クラスを使用してオブジェクトとして作成し、パラメータに渡す必要があります.
import java.util.Arrays;
import java.util.Comparator;
class Solution {
public String[] solution(String[] strings, int n) {
//Comparator 클래스 정렬 3가지
/*
- 컴패러블 인터페이스 만들고 상속하는 클래스 -> 컴패어 투 매서드 오버라이드
- 어레이, 컬랙션소트 안에다 직접 익명객체 컴패래이터 넣어주는 방법..!
- 람다..!!
*/
Arrays.sort(strings, new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
char c1 = o1.charAt(n);
char c2 = o2.charAt(n);
/*if(c1 > c2) {
return 1;
}
else if(c1 < c2) {
return -1;
}
else if(c1 == c2) {
return o1.compareTo(o2);
}*/
if(c1 == c2) {
return o1.compareTo(o2);
}else {
return c1-c2;
}
//
}
});
return strings;
}
}Reference
この問題について(ComparentとComparator), 我々は、より多くの情報をここで見つけました https://velog.io/@d-h-k/Comparable와-Comparatorテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol