91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

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
光泽县| 武安市| 项城市| 彰化市| 鄯善县| 文昌市| 信丰县| 柘荣县| 岢岚县| 双牌县| 荔浦县| 汉阴县| 临猗县| 永修县| 凌海市| 岳西县| 阳春市| 定安县| 来安县| 鸡东县| 罗田县| 莒南县| 怀化市| 兖州市| 罗源县| 桂阳县| 包头市| 城市| 秭归县| 江永县| 平潭县| 中宁县| 瓦房店市| 蓝田县| 淮阳县| 水城县| 仙游县| 林周县| 常德市| 中超| 柘荣县|