// 把数组编程list;
List<String> strings = Arrays.asList("a","b");
Set<String> ss = new HashSet<>(strings);
strings = new ArrayList<String>(ss);
System.out.println(strings);
// 把集合转换为流;
Stream<String> stream = strings.stream();
filter 对元素进行过滤,不符合条件的就不要了;
// 返回true就要,返回false就不要;
// collect把符合条件的转换为集合,属于动作算子(终止操作);
List<String> value = stream.filter(x->x.equals("a")).collect(Collectors.toList);
value.forEach(x->System.out.println(x));
// Stream操作之后必须重新生成,不能重复使用;
// 重新生成流;
stream = strings.stream();
// 跳过一个,就是b 只能有一个动作算子;
value.stream.skip(1).collect(Collectors.toList());
System.out.println(value);
// 再次生成流;
stream = strings.stream();
// map在集合中对数据进行操作,比如修改;
List<Integer> integers = Arrays.alList(100,900,1552,153);
Stream<Integer> stream2 = integers.stream();
List<Integer> value2 = stream2.map(x->x+100).collect(Collectors.toList());
System.out.println(value2);
// 重新生成流;
stream = strings.stream();
// 去重;
value = stream.distinct().collect(Collectors.toList());
System.out.println(value);
// 重新生成流;
stream = strings.stream();
// 取一个集合的前几条数据;
value = stream.skip(1).limit(2).collect(Collectors.toList());
System.out.println(value);
String str = "wwww,,,aaaa,,,sss";
IntStream stream3 = srr.chars();
stream3.distinct().forEach(x->System.out.println(x));
strings = Arrays.asList("1,2","a,b");
stream = strings.stream();
stream.map(x->x.split(",")).flatMap(arr->Arrays.stream(arr)).collect(Collectors.toList);
System.out.println(value);
// 常用的动作算子;
// 循环forEach;
// 收集器collect;
// 结算min,max,count,average;
List<String> strings = Arrays.asList("a","b");
// forEach;
stream.filter(x->x.equals("a")).forEach(x->System.out.println(x));
stream = strings.stream();
// 统计个数;
long count = stream.filter(x->x.equals("a")).count();
System.out.println(count);
stream = strings.stream();
// 收集器,把结果转换为集合;
List<String> value = stream.map(x->x+"--").collect(Collectors.toList());
System.out.println(value);
day24-转换算子
最新推荐文章于 2024-06-18 08:00:00 发布