這篇文章給大家介紹如何在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函數就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
文章標題:如何在java中使用Stream函數
URL分享:http://www.yijiale78.com/article26/joohcg.html
成都網站建設公司_創新互聯,為您提供外貿網站建設、網站建設、營銷型網站建設、做網站、自適應網站、網站營銷
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯