默認(rèn)分類(lèi) 2009-04-20 12:48:00 閱讀139 評(píng)論0 字號(hào):大中小 訂閱
http://fasttime.bokee.com/3270591.html
主要用到: Collections.sort方法:
package com.tom.compare;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
public class CompareClient {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
List list = new ArrayList();
list.add(new Content(15000,"1asdfasd5000"));
list.add(new Content(10000,"10000"));
list.add(new Content(20000,"20000"));
list.add(new Content(30000,"30000"));
list.add(new Content(25000,"25000"));
list.add(new Content(13000,"13000"));
list.add(new Content(15000,"15000"));
list.add(new Content(89000,"89000"));
ContentComparator comp = new ContentComparator();
Collections.sort(list,comp);
Content content;
for(int i = 0; i < list.size(); i++){
content = (Content)list.get(i);
System.out.println(" content.getName() " + content.getName());
}
}
}
package com.tom.compare;
import java.util.Comparator;
public class ContentComparator implements Comparator {
public int compare(Object o1, Object o2) {
// TODO Auto-generated method stub
Content c1 = (Content) o1;
Content c2 = (Content) o2;
if (c1.getKey() > c2.getKey()) {
return 1;
} else {
if (c1.getKey() == c2.getKey()) {
return 0;
} else {
return -1;
}
}
}
}
package com.tom.compare;
public class Content {
private long key;
private String name;
public Content(long key, String name) {
this.key = key;
this.name = name;
}
public long getKey() {
return key;
}
public void setKey(long key) {
this.key = key;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
結(jié)果是:
content.getName() 10000
content.getName() 13000
content.getName() 1asdfasd5000
content.getName() 15000
content.getName() 20000
content.getName() 25000
content.getName() 30000
content.getName() 89000
以下為按時(shí)間排序
public static void sss() {
String[] dates = {
"2 Dec 2003 12:12:05",
"2 Apr 2003 13:12:05",
"2 Jan 2003 10:12:05",
"2 Feb 2003 15:12:05",
};
java.text.SimpleDateFormat f = new java.text.SimpleDateFormat("d MMM y HH:mm:ss",Locale.ENGLISH);
try{
System.out.println("before:");
for(int i = 0; i<dates.length; i++) {
System.out.println(dates[i]);
}
Arrays.sort(dates, new Comparator() {
public int compare(Object o1, Object o2){
try{
SimpleDateFormat df = new java.text.SimpleDateFormat("d MMM y HH:mm:ss",Locale.ENGLISH);
Date d1 = df.parse((String)o1);
Date d2 = df.parse((String)o2);
return d1.compareTo(d2);
}catch(Exception e){e.printStackTrace();}
return -1;
}
});
System.out.println("after:");
for(int i = 0; i<dates.length; i++) {
System.out.println(dates[i]);
}
}catch(Exception e){e.printStackTrace();}
}
聯(lián)系客服