------------恢复内容开始------------
1:常见List排序,可以使用 Collections 工具类操作 sort() 、reverse() 等等
List<Integer> intList = new ArrayList<Integer>();
intList.add(12);
intList.add(33);
intList.add(15);
intList.add(22);
intList.add(45);
intList.forEach(System.out::println);
System.out.println("====================");
Collections.sort(intList);
intList.forEach(System.out :: println);
Collections.reverse(intList);
System.out.println("====================");
intList.forEach(System.out :: println);
System.out.println("====================");
intList.forEach((item) -> item.);
2:使用lambda 表达式 通过添加filter对数据做筛选
1>测试类
@Data
class Demo {
Integer id;
String name;
Integer age;
Demo(){}
Demo(Integer a,String b, Integer c){id=a; name = b; age = c;}
}
2>简单应用
public static void main(String args[]) {
ArrayList<Demo> intArr = new ArrayList<Demo>();
intArr.add(new Demo(1,"Lee", 18));
intArr.add(new Demo(2,"stone", 30));
intArr.add(new Demo(6,"john", 18));
intArr.forEach(System.out::println);
System.out.println("================================");
intArr.forEach(item -> System.out.println(item.age));
System.out.println("================================");
//设置过滤器
Predicate<Demo> filter = p -> p.getId() > 2;
//自定义构造方法姓名按字母升序排序
// List<Demo> sortArr = intArr.stream().sorted((a, b ) -> (a.getName().compareTo(b.getName()))).collect(Collectors.toList());
//通过过滤器筛选集合数据
List<Demo> sortArr = intArr.stream().filter(filter).sorted((a, b ) -> (a.getId() - b.getId())).collect(Collectors.toList());
sortArr.forEach((item) -> System.out.println(item));
}
------------恢复内容结束------------