아까 ArrayList 소팅 질문한앤대

못하고 있던 이유가 ArrayList<T> T가 Account고  A, B class 가 이걸 상속받고있어
그리고 다형성으로 Account = A생성, Account = B생성 이런식으로해서 ArrayList에 넣은거라 바로 비교가 불가했거든

그래서 Collections.sort 라는걸 찾았는데......... 블로그 보면서  깨작거리긴 했는데 어떨지

public class Manager {
        protected static final Collator Collator = null;
        ArrayList<Account> account;
        ArrayList<Account> tempBankBook;
        
        Manager(ArrayList<Account> account){
                this.account = account;
                for(int i=0; i<account.size(); ++i){
                        tempBankBook.add(account.get(i));
                }
        }
        //이름순 정렬
        private final static Comparator<Account> nameComparator = new Comparator<Account>(){
                private final Collator collator = Collator.getInstance();
                
                public int compare(Account o1, Account o2) {
                        return collator.compare(o1.name, o2.name);
                }
        };
        public void nameSort(){
                Collections.sort(tempBankBook, nameComparator);
        }

        //금액순 정렬
        private final static Comparator<Account> balanceComparator = new Comparator<Account>(){
                private final Collator collator = Collator.getInstance();
                
                public int compare(Account o1, Account o2) {
                        return collator.compare(o1.balance, o2.balance);
                }
        };
        public void balanceSort(){
                Collections.sort(tempBankBook, balanceComparator);
        }
        //번호순 정렬
        private final static Comparator<Account> numberComparator = new Comparator<Account>(){
                private final Collator collator = Collator.getInstance();
                
                public int compare(Account o1, Account o2) {
                        return collator.compare(o1.number, o2.number);
                }
        };
        public void numberSort(){
                Collections.sort(tempBankBook, numberComparator);
        }
        //타입순 정렬
        private final static Comparator<Account> typeComparator = new Comparator<Account>(){
                private final Collator collator = Collator.getInstance();
                
                public int compare(Account o1, Account o2) {
                        return collator.compare(o1.type, o2.type);
                }
        };
        public void typeSort(){
                Collections.sort(tempBankBook, typeComparator);
        }

        


정렬 부분만 보면 되거든............ Sort가 4종류로 나뉘어 있고 나름,,, 거기에 맞는 것들도 해줬어

근데 궁금한건  저 Collections.sort 에서 2번째 인자, 에 따라서 거기에 맞는 것이 실행이 되는거야 이상태로?

저기 굵게 표시한  저런부분때문에 질문하는겨