通过stream去重_Java 8 Stream.distinct() 列表去重的操作
在這篇文章里,我們將提供Java8 Stream distinct()示例。 distinct()返回由該流的不同元素組成的流。distinct()是Stream接口的方法。
distinct()使用hashCode()和equals()方法來獲取不同的元素。因此,我們的類必須實現hashCode()和equals()方法。
如果distinct()正在處理有序流,那么對于重復元素,將保留以遭遇順序首先出現的元素,并且以這種方式選擇不同元素是穩(wěn)定的。
在無序流的情況下,不同元素的選擇不一定是穩(wěn)定的,是可以改變的。distinct()執(zhí)行有狀態(tài)的中間操作。
在有序流的并行流的情況下,保持distinct()的穩(wěn)定性是需要很高的代價的,因為它需要大量的緩沖開銷。如果我們不需要保持遭遇順序的一致性,那么我們應該可以使用通過BaseStream.unordered()方法實現的無序流。
1. Stream.distinct()
distinct()方法的聲明如下:
Stream distinct()
它是Stream接口的方法。在此示例中,我們有一個包含重復元素的字符串數據類型列表
DistinctSimpleDemo.java
package com.concretepage;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
public class DistinctSimpleDemo {
public static void main(String[] args) {
List list = Arrays.asList("
總結
以上是生活随笔為你收集整理的通过stream去重_Java 8 Stream.distinct() 列表去重的操作的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java 取dataset_Java L
- 下一篇: android 水平进度条 自定义颜色,