LinkedList
排序前
/**
* 一般遇到T就是泛型的意思
* 泛型只能放包装类,不能放基本数据类型
*/
List <Integer>list=new LinkedList<Integer>();
list.add(10);
list.add(5);
list.add(11);
list.add(33);
list.add(9);
list.add(7);
/** 查看排序前的list*/
System.out.println(list);
第一种排序方法
.sort
i2-i1是降序
i1-i2是升序
list.sort(new Comparator<Integer>() {
public int compare(Integer i1, Integer i2) {
return i2-i1;
}});
System.out.println("排序后");
System.out.println(list);
第二种排序
Collections 工具类
.sort(list)
Collections.sort(list);
System.out.println(list);
第三种排序
new comparator
Collections.sort(list,new Comparator() {
System.out.println("第三种排序");
Collections.sort(list,new Comparator<Integer>() {
@Override
public int compare(Integer o1, Integer o2) {
// TODO Auto-generated method stub
return o2-o1;//降序 o1-o2是升序
}});
System.out.println(list);
第四种排序
System.out.println("第四种排序");
lala mycom = new lala();
Collections.sort(list,mycom);
System.out.println(list);
自定义比较器
import java.util.Comparator;
/**
* 自定义比较器
* 1.实现Comparator接口
* 2.导包 import java.util.Comparator;
* 3.重写抽象方法
*/
public class lala implements Comparator<Integer>{
@Override
public int compare(Integer o1, Integer o2) {
// TODO Auto-generated method stub
/**
* o1-o2升序
* o2-o1降序
*/
return o1-o2;
}
}