List集合
Collections.sort();
public class TestDemo03 {
public static void main(String[] args) {
List<String> list = new ArrayList<String>();
list.add("张三");
list.add("李四");
list.add("王老五");
}
private static void extracted2(List<String> list) {
Collections.sort(list, new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
return o2.length() - o1.length();
}
});
System.out.println(list);
}
private static List<Integer> extracted1() {
List<Integer> list = new ArrayList<Integer>();
Random random = new Random();
for (int i = 0; i < 10; i++) {
list.add(random.nextInt(100));
}
return list;
}
private static void extracted(List list) {
Collections.sort(list);
System.out.println(list);
}
}
自定义类型排序
public class Point {
private int x;
private int y;
public int getX() {
return x;
}
public void setX(int x) {
this.x = x;
}
public int getY() {
return y;
}
public void setY(int y) {
this.y = y;
}
@Override
public String toString() {
return "Point{" +
"x=" + x +
", y=" + y +
'}';
}
public Point() {
}
public Point(int x, int y) {
this.x = x;
this.y = y;
}
}
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
public class TestDemo04 {
public static void main(String[] args) {
List<Point> list = new ArrayList<Point>();
list.add(new Point(1,2));
list.add(new Point(3,4));
list.add(new Point(2,6));
list.add(new Point(6,1));
System.out.println(list);
extracted3(list);
}
private static void extracted3(List<Point> list) {
list.sort((point1, point2)->{
return point1.getX() - point2.getX();
});
}
private static void extracted2(List<Point> list) {
Collections.sort(list,(point1, point2)->{
int len1 = point1.getX()*point1.getX()+ point1.getY()* point1.getY();
int len2 = point2.getX()* point2.getX()+ point2.getY()* point2.getY();
return len1 - len2;
});
System.out.println(list);
}
private static void extracted1(List<Point> list) {
Collections.sort(list,(Point pointx, Point pointy)->{
return pointy.getX() - pointx.getX();
});
System.out.println(list);
}
private static void extracted(List<Point> list) {
Collections.sort(list, new Comparator<Point>() {
@Override
public int compare(Point o1, Point o2) {
return o1.getX() - o2.getX();
}
});
System.out.println(list);
}
}