您好,登錄后才能下訂單哦!
這篇文章主要介紹了Java8新特性Stream短路終端操作的示例分析,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
傳入一個謂詞,返回傳為boolean,如果符合條件,則直接結束流。
匹配所有 allMatch
任意匹配 anymMatch
不匹配 noneMatch
查找首個 findFirst
查找任意 findAny
匹配所有 allMatch
/匹配所有 allMatch @Test public void allMatchTest() { boolean b = list.stream() //所有的商品價格都大于40 .allMatch(sku -> sku.getSkuPrice() > 40); System.out.println(b); /** 返回值 * true */ }
任意匹配 anymMatch
//任意匹配 anymMatch @Test public void anyMatchTest() { boolean b = list.stream() //只要有一個totalNum數量為3就反回true .anyMatch(sku -> sku.getTotalNum() == 3); System.out.println(b); /** 輸出的結果: * true */ }
不匹配 noneMatch
//不匹配 noneMatch @Test public void noneMatchTest() { boolean b = list.stream() //沒有totalNum為2的,所以返回值為true, .noneMatch(sku -> sku.getTotalNum() == 2); System.out.println(b); /** * 沒有匹配才選true */ }
查找首個 findFirst
//查找首個 findFirst @Test public void findFirstTest() { //我自己的Optional里面有介紹,,findFirst()方法,只要有第一個就返回 Optional<Sku> first = list.stream().findFirst(); //從Optional里面取出來值 Sku sku = first.get(); //比json格式輸出結果 System.out.println(JSON.toJSONString(sku,true)); /** * { * "skuCategory":"ELECTRONICS", * "skuId":100001, * "skuName":"無人機", * "skuPrice":4999.0, * "totalNum":1, * "totalPrice":4999.0 * } */ }
查找任意 findAny
//查找任意 findAny @Test public void findAnyTest() { //從list中任意取出來一個 Optional<Sku> any = list.stream().findAny(); //從Optional里面取值 Sku sku = any.get(); //以json輸出結果 System.out.println(JSON.toJSONString(sku, true)); /** * { * "skuCategory":"ELECTRONICS", * "skuId":100001, * "skuName":"無人機", * "skuPrice":4999.0, * "totalNum":1, * "totalPrice":4999.0 * } */ }
感謝你能夠認真閱讀完這篇文章,希望小編分享的“Java8新特性Stream短路終端操作的示例分析”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。