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; } }
结果是: content.getName() 10000 content.getName() 13000 content.getName() 1asdfasd5000 content.getName() 15000 content.getName() 20000 content.getName() 25000 content.getName() 30000 content.getName() 89000