请用ListString转map考虑list为null的情况
可以使用Java 8的Stream来处理这个转换过程,同时考虑到list为null的情况。
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/hy9M 著作权归作者所有。请勿转载和采集!