JAVA8 stream 流相關操作

2021-08-13 15:23:44 字數 1598 閱讀 8694

1. 查詢流中滿足條件的第乙個元素

【集合】.stream()

.filter(item -> 【條件】)

.findany()

.get();

【集合】.stream()

.filter(item -> 【條件】)

.findfirst()

.get();

2. 內迴圈

【集合】.stream()

.foreach(item -> );

3. 將集合轉換為map

// function.identity() 當前實體

【集合】.stream()

.collect(collectors.tomap(item -> 【鍵值】), function.identity()));

4. 集合型別轉換

【集合】.stream()

.map(item -> 【**】)

.collect(collectors.tolist());

5. 求和

long result = 【集合】.stream()

.map(item -> )

.reduce(0, integer::sum);

6. 分組

【集合】.stream()

.map(item -> 【**】)

.collect(collectors.groupingby(record::getuserid));

【集合】.stream() 

.map(item -> 【**】)

.collect(collectors.groupingby(record::getuserid,

collectors.reducing(bigdecimal.zero, record::getoutput, bigdecimal::add)));

7. 排序(取前n個物件)

【集合】.stream()

.map(item -> 【**】)

.sorted(comparator.comparing(expression::getpriority))

.collect(collectors.tolist());

【集合】.stream()

.map(item -> 【**】)

.sorted((x, y) -> y.getoutput().compareto(x.getoutput()))

.limit(10)

.collect(collectors.tolist());

8. 判斷所有為真或假

【集合】.stream()

.map(item -> update(item))

.allmatch(result -> 1 == result);

Java8 Stream經典示例

示例一 class user public int getid public string tostring 現在有乙個list的集合,如何把這個list轉換成map其中,key是user id,value是user物件 如下 listusers arrays.aslist new user 1,t...

Java8 Stream 中間操作

1 filter 過濾,接收lambda,從流中排除某些元素 內部迭代 迭代操作有stream api完成 test public void test1 終止操作 一次性執行全部內容 stream.foreach system.out println 外部迭代 test public void te...

java8 stream的collect 三個引數

collect方法有兩個過載 第乙個接收的是collector型別的,可以直接用collectors這類工具傳方法引用。第二個接收的是三個引數的,supplier 乙個能創造目標型別例項的方法。accumulator 乙個將當元素新增到目標中的方法。combiner 乙個將中間狀態的多個結果整合到一...