当前位置: 首页> 财经> 股票 > Java List转Map

Java List转Map

时间:2025/8/23 8:19:40来源:https://blog.csdn.net/TalorSwfit20111208/article/details/142151834 浏览次数:0次

以下是一些常见的方法:

使用 Java 8 Stream API

如果你使用的是Java 8或更高版本,可以利用Stream API来方便地将列表转换为映射。例如,假设你有一个Person类,具有name和age属性,并且你想根据名字创建一个映射:

import java.util.*;
import java.util.stream.Collectors;class Person {private String name;private int age;public Person(String name, int age) {this.name = name;this.age = age;}public String getName() {return name;}public int getAge() {return age;}
}public class Main {public static void main(String[] args) {List<Person> people = Arrays.asList(new Person("Alice", 30),new Person("Bob", 25),new Person("Charlie", 35));// 创建一个Map,其中key是Person的name,value是Person对象Map<String, Person> personMap = people.stream().collect(Collectors.toMap(person -> person.getName(), person -> person));// 打印结果personMap.forEach((name, person) -> System.out.println(name + ": " + person.getAge()));}
}

不使用Stream API

如果你使用的是Java 7或更低版本,或者出于某些原因不想使用Stream API,你可以手动遍历列表并填充映射:

import java.util.*;class Person {private String name;private int age;public Person(String name, int age) {this.name = name;this.age = age;}public String getName() {return name;}public int getAge() {return age;}
}public class Main {public static void main(String[] args) {List<Person> people = Arrays.asList(new Person("Alice", 30),new Person("Bob", 25),new Person("Charlie", 35));Map<String, Person> personMap = new HashMap<>();for (Person person : people) {personMap.put(person.getName(), person);}// 打印结果personMap.forEach((name, person) -> System.out.println(name + ": " + person.getAge()));}
}

这两种方法都可以有效地将一个列表转换为一个映射。如果你能提供具体的页面内容或有特定的需求,我可以提供更准确的帮助。

关键字:Java List转Map

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: