可以使用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}
``
请用ListString转map考虑list为null的情况

原文地址: https://www.cveoy.top/t/topic/hy9M 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录