日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java集合Stream类

發布時間:2023/12/13 java 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java集合Stream类 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Java集合Stream類
----按條件對集合進行過濾filter

public class Test {public static void main(String[] args) {List<String>all=new ArrayList<>();all.add("ghjt");all.add("ghjiiii");Stream<String>stream=all.stream();List<String> newAll=stream.filter(new Predicate<String>() {@Overridepublic boolean test(String s) {return s.contains("t") ;}}).collect(Collectors.toList());newAll.forEach(System.out::println);}

lambda表達式簡化寫法
接收一個參數s,返回其結果s.contains(“t”)

stream.filter((s)->s.contains("t"));

最后簡化寫法:

public class Test {public static void main(String[] args) {List<String>all=new ArrayList<>();all.add("ghjt");all.add("ghjiiii");Stream<String>stream=all.stream();List<String> newAll=stream.filter((s)->s.contains("t")).collect(Collectors.toList());newAll.forEach(System.out::println);}}

------在過濾之前對數據流進行處理,使用map()

List<String> newAll=stream.distinct().map((x)->x.toUpperCase()).filter((s)->s.contains("T")).collect(Collectors.toList());

------對數據流進行分頁操作,使用
skip(1)跳過第一條數據
limit(1)只取第一條數據

List<String> newAll=stream.distinct().map((x)->x.toUpperCase()).filter((s)->s.contains("T")).skip(1).limit(1).collect(Collectors.toList());

------使用anyMatch或allMatch實現數據匹配操作

public class TestOthers {public static void main(String[] args) {List<String> all=new ArrayList<>();all.add("ghjt");all.add("ghjiiii");all.add("AAAghjt");all.add("SDFGghjiiii");Stream<String> stream=all.stream();if (stream.anyMatch((x)->x.contains("j"))){System.out.println("jjj is exits");}}}

------使用or()或and()實現多個數據匹配
Predicate接口----判斷輸入的對象是否符合某個條件。(斷言式接口)

public class TestOthers {public static void main(String[] args) {List<String> all=new ArrayList<>();all.add("ghjt");all.add("ghjiiii");all.add("AAAghjt");all.add("SDFGghjiiii");Stream<String> stream=all.stream();Predicate<String>p1=(x)->x.contains("iii");Predicate<String>p2=(x)->x.contains("A");if (stream.anyMatch(p1.and(p2))){System.out.println("It's great");}else {System.out.println("bad");}} }

總結

以上是生活随笔為你收集整理的Java集合Stream类的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。