배열 정렬 : 1] Arrays.sort(객체 배열, Collections.reverseOrder()); // 내림차순
2]Arrays.sort(객체 배열, new Comparator<Integer>(){
@Override
public int compare (Integer a, Integer b){
return a-b;
}
});
EX)
public static void main(String[] args) {
List<Integer> a = new ArrayList<>();
a.add(1);
a.add(5);
a.add(4);
a.add(3);
a.add(5);
a.add(6);
a.add(7);
a.add(3);
a.add(5);
a.add(12);
Collections.sort(a, new Comparator<Integer>() {
@Override
public int compare(Integer o1, Integer o2) {
}
});
3] Arrays.sort(기본형 배열, 시작 인덱스, 마지막 인덱스)
컬렉션 정렬 : 1] Collections.sort(컬렉션,Comparator.reverseOrder()); // 내림차순
2] Collections.sort(컬렉션, new Comparator<Integer>(){
@Override
public int compare (Integer a, Integer b){
return a-b;
}
});
클래스 정렬 : class A implements Comparable<A>{
@Override
public int compareTo(A a){
return a.position - this.position;
}
}
Collection.sort(A);
EX)
private static class Prior implements Comparable<Prior>{
private int a;
private int b;
public Prior(int a,int b){
this.a = a;
this.b = b;
}
@Override
public int compareTo(Prior o) {
// return o.a - this.a 도 OK;
if(o.a > this.a)
return 1;
else if(o.a == this.a)
return 0;
else
return -1;
}
}
public static void main(String[] args) {
List<Prior> p = new ArrayList<>();
p.add(new Prior(1,2));
p.add(new Prior(3,3));
p.add(new Prior(2,2));
p.add(new Prior(5,2));
p.add(new Prior(6,2));
p.add(new Prior(7,-2));
p.add(new Prior(7,2));
Collections.sort(p);
'프로그래밍 언어 (プログラミング言語) > JAVA' 카테고리의 다른 글
toString() 호출에 의한 무한 루프 (0) | 2023.04.21 |
---|---|
Proxy 객체의 equals(),hashCode()는 꼭 [Getter]로 값 비교를 해야 한다~~~~~~~~~~~~~~~!!!!!!!!!!! (0) | 2023.04.21 |
equals()와 hashCode()의 오버라이딩은 [자동 완성 기능]을 사용하자 (0) | 2023.04.20 |
equals()의 default (0) | 2023.04.20 |
불변 객체(Immutable Object) (0) | 2023.04.20 |