欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java8新特性Stream短路終端操作實例解析

 更新時間:2019年12月09日 09:46:12   作者:GFrost  
這篇文章主要介紹了Java8新特性Stream短路終端操作實例解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下

這篇文章主要介紹了Java8新特性Stream短路終端操作實例解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下

傳入一個謂詞,返回傳為boolean,如果符合條件,則直接結(jié)束流。

  • 匹配所有 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數(shù)量為3就反回true
      .anyMatch(sku -> sku.getTotalNum() == 3);
  System.out.println(b);
  /** 輸出的結(jié)果:
   * 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格式輸出結(jié)果
  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輸出結(jié)果
  System.out.println(JSON.toJSONString(sku, true));
  /**
   * {
   * "skuCategory":"ELECTRONICS",
   * "skuId":100001,
   * "skuName":"無人機",
   * "skuPrice":4999.0,
   * "totalNum":1,
   * "totalPrice":4999.0
   * }
   */
}

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java解析使用JSON的多種方法

    Java解析使用JSON的多種方法

    使用JSON作為數(shù)據(jù)傳輸,在瀏覽器端非常方便。JSON去除了所有JavaScript執(zhí)行代碼,只保留對象格式,而且JSON天生適合JavaScript處理,所以,絕大多數(shù)REST?API都選擇JSON作為數(shù)據(jù)傳輸格式?,F(xiàn)在問題來了:使用Java如何對JSON進行讀寫?
    2022-12-12
  • java動態(tài)目錄樹的實現(xiàn)示例

    java動態(tài)目錄樹的實現(xiàn)示例

    在開發(fā)過程中,常常需要對目錄結(jié)構(gòu)進行操作和展示,本文主要介紹了java動態(tài)目錄樹的實現(xiàn)示例,具有一定的參考價值,感興趣的可以了解一下
    2024-03-03
  • 一個合格JAVA軟件工程師應(yīng)該具備什么

    一個合格JAVA軟件工程師應(yīng)該具備什么

    一個合格JAVA軟件工程師應(yīng)該具備哪些專業(yè)技能,面試技巧是什么?本文為大家分享了2016版最新Java軟件工程師就業(yè)思維圖,感興趣的小伙伴們可以參考一下
    2016-11-11
  • 淺談JAVA并發(fā)之ReentrantLock

    淺談JAVA并發(fā)之ReentrantLock

    本文主要介紹了基于AQS實現(xiàn)的ReentrantLock(重入鎖),感興趣的同學(xué),可以參考下。
    2021-06-06
  • Java 添加文本框到PPT幻燈片過程解析

    Java 添加文本框到PPT幻燈片過程解析

    這篇文章主要介紹了Java 添加文本框到PPT幻燈片過程解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-09-09
  • mybatis查詢語句揭秘之參數(shù)解析

    mybatis查詢語句揭秘之參數(shù)解析

    這篇文章主要給大家介紹了關(guān)于mybatis查詢語句之參數(shù)解析的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學(xué)習(xí)或者使用mybatis具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • 使用Spring Data R2DBC +Postgres實現(xiàn)增刪改查功能

    使用Spring Data R2DBC +Postgres實現(xiàn)增刪改查功能

    這篇文章主要介紹了使用Spring Data R2DBC +Postgres實現(xiàn)增刪改查功能,本文通過兩種方法給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-03-03
  • Java 輸入多行字符串或者多個int數(shù)值的方法

    Java 輸入多行字符串或者多個int數(shù)值的方法

    今天小編就為大家分享一篇Java 輸入多行字符串或者多個int數(shù)值的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-07-07
  • Java中關(guān)于String的兩種賦值方式

    Java中關(guān)于String的兩種賦值方式

    這篇文章主要介紹了Java中關(guān)于String的兩種賦值方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • 微信跳一跳刷分java代碼實現(xiàn)

    微信跳一跳刷分java代碼實現(xiàn)

    這篇文章主要介紹了微信跳一跳刷分java代碼實現(xiàn),還為大家分享了java刷微信跳一跳問題集,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-01-01

最新評論