Java 8 Stream:将 List<String> 转换为 Map,处理 Null 列表
可以使用 Java 8 的 Stream 来处理 List
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
public class Main {
public static void main(String[] args) {
List<String> list = null;
Map<Integer, String> map = convertListToMap(list);
System.out.println(map); // 输出 {}
list = List.of('apple', 'banana', 'cherry');
map = convertListToMap(list);
System.out.println(map); // 输出 {0=apple, 1=banana, 2=cherry}
}
public static Map<Integer, String> convertListToMap(List<String> list) {
if (list == null) {
return Map.of();
}
return list.stream()
.collect(Collectors.toMap(list::indexOf, s -> s));
}
}
在这个例子中,我们首先定义了一个 null 的 list。然后将这个 list 传递给 convertListToMap 方法,该方法会检查 list 是否为 null。如果 list 为 null,直接返回一个空的 map。
如果 list 不为 null,我们使用 Java 8 的 Stream 将 list 转换为 map。我们使用 Collectors.toMap 方法来将 list 中的每个元素映射为 map 的 key-value 对。在这个例子中,我们将 list 中每个元素的索引作为 key,元素本身作为 value。最终返回转换后的 map。
输出结果为:
{}
{0=apple, 1=banana, 2=cherry}
原文地址: https://www.cveoy.top/t/topic/o1VD 著作权归作者所有。请勿转载和采集!