1.给字符串list排序
public static void main(String args[]){
List<String> list=new ArrayList<String>();
list.add("e");
list.add("c");
list.add("g");
list.add("f");
System.out.println(">>>>>>>>>>>>>排序前:>>>>>>>>>>>>>");
for(String str:list)
System.out.println(str);
System.out.println(">>>>>>>>>>>>>排序后:>>>>>>>>>>>>>");
Collections.sort(list);
for(String str:list)
System.out.println(str);
}
>>>>>>>>>>>>>排序前:>>>>>>>>>>>>>
e
c
g
f
>>>>>>>>>>>>>排序后:>>>>>>>>>>>>>
c
e
f
g
2.给对象排序 对象需要实现Comparable接口,重写compareTo函数
package testsort;
public class Entity implements Comparable<Entity>{
private String name;
private int age;
public Entity(String name,int age){
this.name=name;
this.age=age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public int compareTo(Entity entity) {
// TODO Auto-generated method stub
if(this.age>entity.age){
return 1;
}else if(this.age<entity.age){
return -1;
}else{
if(this.name.hashCode()>entity.name.hashCode()){
return 1;
}else if(this.name.hashCode()<entity.name.hashCode()){
return -1;
}else{
return 0;
}
}
}
}
public static void main(String args[]){
List<Entity> list=new ArrayList<Entity>();
list.add(new Entity("luffy",19));
list.add(new Entity("sanji",21));
list.add(new Entity("sorron",21));
list.add(new Entity("nami",18));
System.out.println(">>>>>>>>>>>>排序前:>>>>>>>>>>>>>>");
for(Entity e:list){
System.out.println("name:"+e.getName()+" "+e.getAge());
}
System.out.println(">>>>>>>>>>>>>排序后:>>>>>>>>>>>>>");
Collections.sort(list);
for(Entity e:list){
System.out.println("name:"+e.getName()+" "+e.getAge());
}
}
>>>>>>>>>>>>排序前:>>>>>>>>>>>>>>
name:luffy 19
name:sanji 21
name:sorron 21
name:nami 18
>>>>>>>>>>>>>排序后:>>>>>>>>>>>>>
name:nami 18
name:luffy 19
name:sorron 21
name:sanji 21