- 论坛徽章:
- 0
|
//java list 排序
//关键词: java list 排序
//主要用到: 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 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
另例:
ListSort.java
package test.map;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
public class ListSort {
@SuppressWarnings("unchecked")
public static void main(String[] args){
ArrayList list = new ArrayList();
list.add(new Person("lcl",28));
list.add(new Person("fx",23));
list.add(new Person("wqx",29));
Comparator comp = new Comparator(){
public int compare(Object o1,Object o2) {
Person p1=(Person)o1;
Person p2=(Person)o2;
if(p1.age
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u1/55983/showart_1096593.html |
|