怎么做网站劳务中介,网站响应时间长,搭建网站基本步骤,山东网站制作软件一、Stream流的生成方式
1、collection集合可以用默认方法stream生成流。
如 ArrayListString list new ArrayListString();list.stream().forEach();
2、Map集合间接生成
3、数组通过Stream接口的静态方法of(T... values)生成流。二、Stream流的中间操作方法…一、Stream流的生成方式
1、collection集合可以用默认方法stream生成流。
如 ArrayListString list new ArrayListString();list.stream().forEach();
2、Map集合间接生成
3、数组通过Stream接口的静态方法of(T... values)生成流。二、Stream流的中间操作方法
1、StreamT filter(Predicate? super T predicate) 返回由与此给定谓词匹配的此流的元素组成的流。
2、StreamT limit(long maxSize) 返回由此流的元素组成的流截短长度不能超过 maxSize 。
3、StreamT skip(long n) 在丢弃流的第一个 n元素后返回由该流的剩余元素组成的流。
4、static T StreamT concat(Stream? extends T a, Stream? extends T b) 创建一个懒惰连接的流其元素是第一个流的所有元素后跟第二个流的所有元素。
5、StreamT distinct() 返回由该流的不同元素根据 Object.equals(Object) 组成的流。
6、StreamT sorted() 返回由此流的元素组成的流根据自然顺序排序。
7、StreamT sorted(Comparator? super T comparator) 返回由该流的元素组成的流根据提供的 Comparator进行排序。
8、IntStream mapToInt(ToIntFunction? super T mapper) 返回一个 IntStream其中包含将给定函数应用于此流的元素的结果。 三、Stream流终结操作
1、void forEach(Consumer? super T action) 对此流的每个元素执行操作。
2、long count() 返回此流中的元素数。 四、举例说明
public static void main(String[] args) {ArrayListString arr new ArrayListString();arr.add(张三);arr.add(林三);arr.add(张无忌);arr.add(张三丰);arr.add(杨玉环);//把集合中姓张的输出在控制台arr.stream().filter(s - s.startsWith(张)).forEach(System.out::println);System.out.println(--------------);//把集合中长度为3的元素在控制台输出。arr.stream().filter(s - s.length() 3).forEach(System.out::println);System.out.println(--------------);//集合中姓张的且长度为3的元素在控制台输出arr.stream().filter(s - s.startsWith(张)).filter(s - s.length() 3).forEach(System.out::println);System.out.println(--------------);//取前三个元素输出arr.stream().limit(3).forEach(System.out::println);System.out.println(--------------);//跳过前三个元素arr.stream().skip(2).forEach(System.out::println);System.out.println(--------------);//跳过两个元素然后输出剩下的前两个元素arr.stream().skip(2).limit(2).forEach(System.out::println);//需求1取出前四个数据组成一个流StreamString stream arr.stream().limit(4);//需求2跳过前两个元素组成一个流StreamString stream1 arr.stream().skip(2);//static T StreamT contat(Stream a, Stream b): 合并a和b为一个流
// Stream.concat(stream, stream1).forEach(System.out::println);System.out.println(-----------);//StreamT distinct() 合并需求1和需求2得到的流。并把结果输出要求字符串元素不能重复Stream.concat(stream,stream1).distinct().forEach(System.out::println);//一个流的 终结操作forEach只能出现一次。ArrayListString arrs new ArrayListString();arrs.add(linqingxia);arrs.add(zhangsnafeng);arrs.add(anhaode);arrs.add(bolaiwen);arrs.add(kangyouwei);//按照字母顺序把数据输出在控制台arrs.stream().sorted().forEach(System.out::println);System.out.println(----------);//按照字符串长度把数据输出 //匿名内部类重写compare方法/*arrs.stream().sorted(new ComparatorString() {Overridepublic int compare(String s1, String s2) {int num s1.length() - s2.length();int num1 num 0 ? s1.compareTo(s2) : num;return num1;}}).forEach(System.out::println);*/arrs.stream().sorted((s1, s2) - {int num s1.length() - s2.length();int num1 num 0 ? s1.compareTo(s2) : num;return num1;}).forEach(System.out::println);System.out.println(----------);//统计arr集合中以“张”开头的元素个数long count arr.stream().filter(s - s.startsWith(张)).count();System.out.println(count);}运行结果
张三
张无忌
张三丰
--------------
张无忌
张三丰
杨玉环
--------------
张无忌
张三丰
--------------
张三
林三
张无忌
--------------
张无忌
张三丰
杨玉环
--------------
张无忌
张三丰
-----------
张三
林三
张无忌
张三丰
杨玉环
anhaode
bolaiwen
kangyouwei
linqingxia
zhangsnafeng
----------
anhaode
bolaiwen
kangyouwei
linqingxia
zhangsnafeng
----------
3