본문 바로가기

프로그래밍 언어 (プログラミング言語)/JAVA

JAVA 정렬 [최종본]

배열 정렬 : 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);