Lambda表达式对List的简单操作


------------恢复内容开始------------

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));

}

 

  

------------恢复内容结束------------


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM