您的位置:首页 > 编程语言 > Java开发

java中的List排序[转]

2009-12-30 09:33 453 查看
//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 < 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

另例:

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<p2.age)
return 1;
else
return 0;
}
};
Collections.sort(list,comp);

for(int i = 0;i<list.size();i++){
Person p = (Person)list.get(i);
System.out.println(p.getName());
}
}
public static class Person {

private int age;
private String name;
public Person(String name,int age){
this.age = age;
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}

}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: