2015년 4월 4일 토요일

Object단위로 sorting시에는 Comparator를 사용



Collections sort(students, new Comparator<Student>() {
                     public int compare(Student s1,Student s2) {
                           if(s1.getName() != null && s2.getName() != null 
                              && s1.getName().comareTo(s1.getName()) != 0) {
                               return s1.getName().compareTo(s2.getName());
                           }
                          else {
                             return s1.getAge().compareTo(s2.getAge());
                          }
                      }
);
본문
http://stackoverflow.com/questions/14154127/collections-sortlistt-comparator-super-t-method-example

또는

01//비어있는 sort용 ArrayList
02List<custom> myArrayData = new ArrayList<custom>();
03
04 //일단 데이터를 sort용 ArrayList<>에 넣는다.
05for(int i = 0 ; i < downMyData.size(); i++) {
06  myArrayData.add(downMyData.get(i));
07}//end for
08
09
10
11//Comparator 를 만든다.
12private final static Comparator<custom> myComparator = new Comparator<custom>() {
13  private final Collator   collator = Collator.getInstance();
14    @Override
15    public int compare(custom object1,custom object2) {
16      return collator.compare(object1.getData(), object2.getData());
17    }
18};
19
20
21// Collections.sort 로 comparator 를 주어서 데이터를 정렬 시킨다.
22Collections.sort(myArrayData ,myComparator);
23
24
25//정렬된 ArrayList를 Adapter에 넣고 리스트뷰에 배치한다.
26ListView MyListView = (ListView)findViewById(R.id.mylistview);
27MyAdapter adapter = new MyAdapter (this,R.layout.my_item,myArrayData );
28MyListView.setAdapter(adapter);


본문
http://devbible.tistory.com/23

댓글 없음:

댓글 쓰기