JDK8通过Stream 对List,Map操作和互转的实现

网友投稿 509 2022-12-27


JDK8通过Stream 对List,Map操作和互转的实现

1、Map数据转换为自定义对象的List,例如把map的key,value分别对应Person对象两个属性:

ygcmfmList list = map.entrySet().stream().sorted(Comparator.comparing(e -> e.getKey()))

.map(e -> new Person(e.getKey(), e.getValue())).collect(Collectors.toList());

List list = map.entrySet().stream().sorted(Comparator.comparing(Map.Entry::getValue))

.map(e -> new Person(e.getKey(), e.getValue())).collect(Collectors.toList());

List list = map.entrySet().stream().sorted(Map.Entry.comparingByKey())

.map(e -> new Person(e.getKey(), e.getValue())).collect(Collectors.toList());

以上三种方式不同之处在于排序的处理。参考链接:

https://concretepage.com/java/jdk-8/java-8-convert-map-to-list-using-collectors-tolist-example

2、List对象转换为其他List对象:

List employees = persons.stream()

.filter(p -> p.getLastName().equals("l1"))

.map(p -> new Employee(p.getName(), p.getLastName(), 1000))

.collect(Collectors.toList());

3、从List中过滤出一个元素

User match = users.stream().filter((user) -> user.getId() == 1).findAny().get();

4、List转换为Map

public clasygcmfms Hosting {

private int Id;

private String name;

private long websites;

public Hosting(int id, String name, long websites) {

Id = id;

this.name = name;

this.websites = websites;

}

//getters, setters and toString()

}

Map result1 = list.stream().collect(

Collectors.toMap(Hosting::getId, Hosting::getName));


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:异构系统接口设计方法(异构系统如何集成)
下一篇:java获取微信accessToken的方法
相关文章

 发表评论

暂时没有评论,来抢沙发吧~