Java8之Stream流代替For循环操作
文件大小: 57k
源码售价: 69 个金币 积分规则     积分充值
资源说明: Java8之Stream流代替For循环操作 Java8中引入了Stream流代替For循环操作,具有很好的参考价值,希望对大家有所帮助。Stream流代替For循环进行输出可以使代码更简洁。 Stream流的优点 1. 代码简洁:使用Stream流可以使代码变得更加简洁和易读。 2. 高效率:Stream流可以自动并行处理,提高了处理速度。 3. 函数式编程:Stream流支持函数式编程,能够更加灵活地处理数据。 实体类Emp public class Emp { private String id; private String name; public Emp(String id, String name) { this.id=id; this.name=name; } public String getId() { return id; } public void setId(String id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } @Override public String toString() { return "Emp信息: [id=" + id + ", name=" + name + "]"; } } 原始For写法 List emps = new ArrayList<>(); emps.add(new Emp("00101","张三")); emps.add(new Emp("00102","张四")); emps.add(new Emp("00103","张五")); emps.add(new Emp("00104","张六")); emps.add(new Emp("00105","张七")); for (Emp emp : emps) { if (emp.getName().equals("张三")) { System.out.println(emp); return; } } Stream流 List emps = new ArrayList<>(); emps.add(new Emp("00101","张三")); emps.add(new Emp("00102","张四")); emps.add(new Emp("00103","张五")); emps.add(new Emp("00104","张六")); emps.add(new Emp("00105","张七")); List emp=emps.stream().filter(e -> "张三".equals(e.getName())).collect(Collectors.toList()); emp.forEach(System.out::println); 补充知识:Java中for、foreach、stream性能比较 在开发中循环遍历一个数组经常会用到,jdk8推出了一些新特性,对循环做了比较,通过代码亲测,记录一下! 1. for循环 public static void main(String[] args) { Long startTime = System.currentTimeMillis(); formMethod(); Long endTime = System.currentTimeMillis(); System.out.println("result:" + (endTime - startTime)); } public static void formMethod(){ for (int i = 0; i < 10000; i++) { System.out.println("start::::::::::::"); } } 2. foreach循环(for循环的增强版) public static void main(String[] args) { List list = new ArrayList(); for (int i = 0; i < 10000; i++) { list.add(i); } Long startTime = System.currentTimeMillis(); foreachMethod(list); Long endTime = System.currentTimeMillis(); System.out.println("result:" + (endTime - startTime)); } 从以上代码可以看到,Stream流代替For循环操作可以使代码变得更加简洁和高效。同时,Stream流也支持函数式编程,能够更加灵活地处理数据。
本源码包内暂不包含可直接显示的源代码文件,请下载源码包。