Java之Stream的妙用(統計個數、取最大值、取最小值)

對於Java來說,Stream流為Java8加入的特性,常用來對集合進行一些處理。當然,我對Stream的理解也沒深到什麼程度,不過是在工作中經常用,用出了一點心得,在這裡跟大家分享一下罷了。

由於Stream的操作方法過多,所以每篇只介紹幾個方法,儘量把每個方法的用途講清楚。本篇就介紹通過Stream流來統計集合中元素的個數、取集合的最大值和最小值。

好了,廢話不多說,下面進入正題。

  • 統計集合的個數

Stream中統計集合個數的方法為:

<code> long count();/<code>

示例代碼如下:

Java之Stream的妙用(統計個數、取最大值、取最小值)

執行結果如下:

Java之Stream的妙用(統計個數、取最大值、取最小值)

  • 取集合中的最大值

取集合中最大值的方法為:

<code>Optional max(Comparator super T> comparator);/<code>

相對於統計集合元素個數來說,這個方法看起來有些複雜。首先入參為一個比較器:Comparator, 集合中兩個元素的大小由該比較器確定。對於返回對象Optional來說,無需 想得太過複雜,這不過是一個隊返回值的包裝而已,這樣避免返回值出現為null的情況。

取集合中最大值的示例代碼如下:

Java之Stream的妙用(統計個數、取最大值、取最小值)

執行結果如下圖:

Java之Stream的妙用(統計個數、取最大值、取最小值)

  • 取集合中的最小值

取集合中最小值的方法為:

<code>Optional min(Comparator super T> comparator);/<code>

與取集合中最大值方法類似,取最小值的方法入參也是需要一個比較器,返回值也為一個對返回結果的封裝對象。其示例代碼如下:

Java之Stream的妙用(統計個數、取最大值、取最小值)

執行結果如下:

Java之Stream的妙用(統計個數、取最大值、取最小值)

自此,本篇所要講的通過 Stream來統計集合元素的個數,取集合最大值、取集合最小值便已經介紹完畢。


分享到:


相關文章: