package stream01;
import java.util.ArrayList;
import java.util.stream.Stream;
public class stream03 {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<String>();
list.add("林青霞");
list.add("张三");
list.add("李四");
list.add("张明明");
list.add("孙悟空");
list.add("张无忌");
//取前3个数据并在控制台输出
list.stream().limit(3).forEach(System.out::println);
//跳过3个元素,把剩下的元素在控制台输出
list.stream().skip(3).forEach(System.out::println);
//跳过2个元素,并把剩下的元素中前2个在控制台输出
list.stream().skip(2).limit(2).forEach(System.out::println);
Stream<String> s1 = list.stream().limit(4);
Stream<String> s2 = list.stream().skip(2);
//合并上面的2个流 并把合并后的结果在控制台输出
Stream.concat(s1,s2).forEach(System.out::println);
//合并上面的2个流 并把合并后的结果在控制台输出 去掉重复元素
Stream.concat(s1,s2).distinct().forEach(System.out::println);
//按照字母顺序把数据在控制台输出
list.stream().sorted().forEach(System.out::println);
//按照字符串长度把数据在控制台输出
list.stream().sorted((s11,s22)->s11.length()-s22.length()).forEach(System.out::println);
//按照字符串长度把数据在控制台输出,长度一样的按字幕顺序排
list.stream().sorted((s3,s4)->{
int num = s3.length()-s4.length();
int num2 = num==0?s3.compareTo(s4):num;
return num2;
}).forEach(System.out::println);
ArrayList<String> list2 = new ArrayList<String>();
list2.add("10");
list2.add("20");
list2.add("30");
list2.add("40");
list2.add("50");
list2.add("60");
//将集合中的字符串转换为整数后在控制台输出
list2.stream().map(s->Integer.parseInt(s)).forEach(System.out::println);
list2.stream().map(Integer::parseInt).forEach(System.out::println);
list2.stream().mapToInt(Integer::parseInt).forEach(System.out::println);
//int sun() 将集合中的字符串转为整数并求和
int result = list2.stream().mapToInt(Integer::parseInt).sum();
System.out.println(result);
//把list集合中的元素打印在控制台
list.stream().forEach(System.out::println);
//count() 统计list集合中有几个以张开头的元素
long count = list.stream().filter(s->s.startsWith("张")).count();
System.out.println(count);
}
}
三、Stream流 limit、skip、concat、sorted、mapToInt方法的使用案例
最新推荐文章于 2024-08-20 18:42:09 发布