lambda表达式 -Stream流
首先定义一个数列
List
list.add(1);
list.add(4);
list.add(5);
list.add(2);
Stream
Stream
count.(s1); //调用下列的求和方法
max.(s1);
min.(s1);
1.数列求和
public static void count (Stream
Long count = s.count();
System.out.println(count);
}
2.求数列中的最大值
public static void max (Stream
int max = s.max((a,b) -> a - b).get();
System.out.println(max);
}
3.求数列中的最小值
public static void max (Stream
int min = s.min((a,b) -> a - b).get();
System.out.println(min);
}
public static void count (Stream
Long count = s.count();
System.out.println(count);
}
4.使用Stream的max方法获取集合中最长的字符串,首先设置一个字符串集合
String[] str = new String[]{"a", "b", "c", "d"};
Stream
Stream
写比较方法
public static void maxLength (Stream
String str1 = s.max((a,b) -> a.length() - b.length()).get();
System.out.println(str1);
}
调用方法
maxLength.(s3);
5.Stream的map方法,把集合中的每一个元素进行映射,进行某些逻辑处理,处理后把结果放到原来的位置上,替换掉原来的元素。
public static void map (Stream
s.map( a -> a * a ).forEach(System.out :: println);
}
map(s1); //调用map方法
- Filter方法筛选符合要求的数。
public static void filter (Stream
s.filter(a -> contains("a")).forEach(System.out :: println); //筛选包含a的字符串
}
filter(s3);//调用filter方法
- 取得流中指定数量的数,即流中前几个元素。
s1.limit(2).forEach(System.out :: println); //打印出流中前两个数
- sorted方法:对流进行排序。
s1.sorted().forEach(System.out :: println); //默认排序,字典排序(字母顺序)
public static void sorted (Stream
s.sorted((a,b) -> a.length() - b.length() ).forEach(System.out :: println); //按照流中元素的长度,从小到大排序,正序排列
9.通过collector和filter方法将偶数集合返回到新的list中。
public static List
List
return list; }
coll(s1).stream().forEach( System.out :: println); //引用coll方法并且将其数组再次转化为流,用forEach输出每一个数。
10.对都是数字的流进行相应的统计学方法。
public static void summary (Stream
System.out.println("最大值" + s.mapToInt(a -> a).summaryStatistics().getMax());
System.out.println("最小值" + s.mapToInt(a -> a).summaryStatistics().getMax());
System.out.println("求和" + s.mapToInt(a -> a).summaryStatistics().getSum());
11.distinct()方法:去除流中重复的元素。
12.concat()方法:合并流。
Stream.concat(Stream.of(arr), Stream.of(arr1)); //将两个流合并。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具