您好,登錄后才能下訂單哦!
這篇文章給大家介紹如何在java中使用Stream函數,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
Java是一門面向對象編程語言,可以編寫桌面應用程序、Web應用程序、分布式系統和嵌入式系統應用程序。
1.概念
它的主要作用就是對集合數據進行查找過濾等操作。有點類似于SQL的數據庫操作。一句話來解釋就是一種高效且易用的數據處理方式。
2.創建流
通過一個集合創建Stream
@Test public void test1(){ List<Student> studentList = StudentData.getStudents(); //第一種:返回一個順序流 Stream<Student> stream = studentList.stream(); //第二種:返回一個并行流 Stream<Student> stream2 = studentList.parallelStream(); }
3.操作流
通過 filter() 方法可以從流中篩選出我們想要的元素。
public class FilterStreamDemo { public static void main(String[] args) { List<String> list = new ArrayList<>(); list.add("周杰倫"); list.add("王力宏"); list.add("陶喆"); list.add("林俊杰"); Stream<String> stream = list.stream().filter(element -> element.contains("王")); stream.forEach(System.out::println); } }
4.終止Stream
匹配和查找
public void test1(){ List<Student> list = StudentData.getStudents(); //(1)判斷所有的學生年齡是否都大于20歲 boolean allMatch = list.stream().allMatch(item -> item.getAge() > 20); //(2)判斷是否存在學生的年齡大于20歲 boolean anyMatch = list.stream().anyMatch(item -> item.getAge() > 20); //(3)判斷是否存在學生叫曹操 boolean noneMatch = list.stream().noneMatch(item -> item.getName().equals("曹操")); //(4)查找第一個學生 Optional<Student> first = list.stream().findFirst(); //(5)查找所有的學生數量 long count = list.stream().count(); long count1 = list.stream().filter(item -> item.getScore() > 90.0).count(); //(6)查找當前流中的元素 Optional<Student> any = list.stream().findAny(); //(7)查找學生最高的分數:Student實現了comparable接口的話,可直接比較 Stream<Double> doubleStream = list.stream().map(item -> item.getScore()); doubleStream.max(Double::compare); //(8)查找學生最低的分數 }
關于如何在java中使用Stream函數就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。