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

溫馨提示×

java collector的錯誤使用案例

小樊
83
2024-07-12 17:44:13
欄目: 編程語言

  1. 錯誤使用案例:忽略了類型參數
List<String> list = Arrays.asList("Apple", "Banana", "Orange");
Set<String> set = list.stream()
        .collect(Collectors.toSet());

這里將一個List轉換為Set時,沒有指定Collectors.toSet()的類型參數,導致編譯器無法推斷出正確的類型,會報錯。

正確的做法是指定類型參數:

List<String> list = Arrays.asList("Apple", "Banana", "Orange");
Set<String> set = list.stream()
        .collect(Collectors.toSet());
  1. 錯誤使用案例:使用錯誤的收集器
List<String> list = Arrays.asList("Apple", "Banana", "Orange");
Map<String, Integer> map = list.stream()
        .collect(Collectors.toList());

這里將一個List轉換為Map<String, Integer>時,卻使用了錯誤的收集器Collectors.toList(),應該使用Collectors.toMap()。

List<String> list = Arrays.asList("Apple", "Banana", "Orange");
Map<String, Integer> map = list.stream()
        .collect(Collectors.toMap(Function.identity(), String::length));
  1. 錯誤使用案例:未處理重復鍵的情況
List<String> list = Arrays.asList("Apple", "Banana", "Orange", "Apple");
Map<String, Integer> map = list.stream()
        .collect(Collectors.toMap(Function.identity(), String::length));

這里將一個List轉換為Map<String, Integer>時,存在重復的鍵"Apple",沒有處理重復鍵的情況會導致運行時異常。

正確的做法是處理重復鍵的情況,可以通過提供一個合并函數來解決:

List<String> list = Arrays.asList("Apple", "Banana", "Orange", "Apple");
Map<String, Integer> map = list.stream()
        .collect(Collectors.toMap(Function.identity(), String::length, (existing, replacement) -> existing));

0
宁安市| 辽中县| 上饶市| 洪江市| 甘泉县| 遂平县| 镇沅| 三门县| 霍州市| 理塘县| 太保市| 颍上县| 舞钢市| 延津县| 双峰县| 鄢陵县| 兴山县| 金乡县| 秦皇岛市| 定远县| 肇源县| 扎兰屯市| 锡林浩特市| 嘉义县| 大方县| 漳州市| 五家渠市| 米泉市| 高州市| 桦川县| 云林县| 延川县| 吉安县| 石嘴山市| 吴江市| 白银市| 上林县| 嘉义县| 邳州市| 长汀县| 桃源县|