亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

java中stream怎么去重并取出重復數據

小億
527
2024-02-04 12:14:47
欄目: 編程語言

在Java中,可以使用stream的distinct()方法來去重,并且使用collect()方法將結果收集到一個新的集合中。

例如,假設有一個包含重復元素的List:

List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 2, 3, 4);

要去重并取出重復的元素,可以按照以下步驟進行:

  1. 將List轉換為stream:
Stream<Integer> numberStream = numbers.stream();
  1. 使用distinct()方法去重:
Stream<Integer> distinctStream = numberStream.distinct();
  1. 使用collect()方法將結果收集到一個新的集合中:
List<Integer> distinctNumbers = distinctStream.collect(Collectors.toList());

這樣,distinctNumbers中就包含了去重后的元素:[1, 2, 3, 4, 5]。

如果要獲取重復的元素,可以使用filter()方法來篩選出重復的元素,然后使用collect()方法將結果收集到一個新的集合中。例如,獲取重復的元素2、3、4可以按照以下步驟進行:

  1. 將List轉換為stream:
Stream<Integer> numberStream = numbers.stream();
  1. 使用filter()方法篩選出重復的元素:
Stream<Integer> duplicateStream = numberStream.filter(i -> Collections.frequency(numbers, i) > 1);
  1. 使用collect()方法將結果收集到一個新的集合中:
List<Integer> duplicateNumbers = duplicateStream.distinct().collect(Collectors.toList());

這樣,duplicateNumbers中就包含了重復的元素:[2, 3, 4]。

0
札达县| 来宾市| 玉山县| 泸州市| 郓城县| 巴马| 芦溪县| 二手房| 山阳县| 漠河县| 石泉县| 武安市| 扶绥县| 普兰县| 家居| 呼伦贝尔市| 巴南区| 汉沽区| 绩溪县| 英德市| 重庆市| 秦皇岛市| 罗源县| 西充县| 荣昌县| 楚雄市| 阳东县| 龙海市| 扎赉特旗| 涡阳县| 娱乐| 绥阳县| 兴国县| 司法| 屯昌县| 松滋市| 阿拉善左旗| 海丰县| 邯郸市| 陕西省| 额济纳旗|