자바 Class 타입 정렬 방법
자바 Class 타입 정렬 방법
이름, 아이디, 이메일 등의 정보가 들어 있는 구조체로 되어 있는 Class 같은 경우를 정렬하기 위해서는 Collection.sort()메소드와 Comparator를 사용하면 쉽게 정렬할 수있다.
package com.test; import java.text.Collator; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.List; public class Test { public static void main(String[] args) { Item item1 = null; Item item2 = null; Item item3 = null; Item item4 = null; List- list = new ArrayList
- (); item1 = new Item(); item1.setId("id123"); item1.setName("홍길동"); item1.setEmail("aaa@aaa.com"); list.add(item1); item2 = new Item(); item2.setId("id345"); item2.setName("장금이"); item2.setEmail("ssa@ba.com"); list.add(item2); item3 = new Item(); item3.setId("id678"); item3.setName("홍순이"); item3.setEmail("dwd@1234.com"); list.add(item3); item4 = new Item(); item4.setId("id143"); item4.setName("똘똘이"); item4.setEmail("a1@uuu.com"); list.add(item4); final Comparator
- comparator = new Comparator
- (){ @Override public int compare(Item o1, Item o2) { return Collator.getInstance().compare(o1.getId(), o2.getId()); } }; Collections.sort(list, comparator); Item item = null; for (int i = 0; i < list.size(); i++) { item = list.get(i); System.out.println(item.getId()+" - "+item.getName()+" - "+item.getEmail()+" - "); } } }
--------------------------------------------------------------------------------------------
실행결과
id로 정렬된 것을 볼 수 있다.
이메일, 이름으로 정렬을 하기 위해서는
return Collator.getInstance().compare(o1.getId(), o2.getId());
이 부분을 mail, name으로 변경하면 원하는 컬럼으로 정렬을 할 수 있다.
역 정렬을 하기 위해서는 Collections.sort 대신에 Collections.reverse를 사용한다.
.'Java' 카테고리의 다른 글
GCViewer 설정 (0) | 2016.06.04 |
---|---|
Jdk 1.4 다운로드 (0) | 2016.06.04 |
No buffer space available (maximum connections reached?): JVM_Bind (0) | 2016.06.04 |
자바 GC 분석 (0) | 2016.06.04 |
자바 하위버전 다운로드 방법 (0) | 2016.06.04 |