
1条回答 默认 最新
你知我知皆知 2024-08-07 02:50关注以下回答参考 皆我百晓生、券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。
在Java 8中,我们可以使用Stream API中的
Collectors.toMap()方法来将List转换为Map。以下是如何根据你的需求进行调整:import java.util.*; import java.util.stream.*; public class Main { public static void main(String[] args) { List<Example> exampleList = new ArrayList<>(); exampleList.add(new Example("a", "value1")); exampleList.add(new Example("b", "value2")); exampleList.add(new Example("c", "value3")); String keyMethod = "get"; Class<? extends Object> valueType = Example.class; Map<String, String> result = List2Map(exampleList, keyMethod, valueType); System.out.println(result); } private static <K, V> Map<K, V> List2Map( List<V> list, String keyMethod, Class<? extends Object> valueType) { return list.stream() .collect(Collectors.toMap( item -> item.get(keyMethod), Function.identity())); } } class Example { String name; String value; Example(String name, String value) { this.name = name; this.value = value; } }在这个例子中,我们首先定义了一个名为
Example的类,并添加了两个属性name和value。然后,我们在main方法中创建了一个包含三个Example对象的列表。接下来,我们将这个列表传递给
List2Map方法,并指定keyMethod为"get"(即获取name)和valueType为Example。最后,打印出结果。注意:这只是一个基本示例,实际应用可能需要更复杂的逻辑来处理不同的数据类型或错误情况。
解决 无用评论 打赏 举报