JDK8怎么通过Stream对List、Map操作和互转

本篇内容主要讲解“JDK8怎么通过Stream对List、Map操作和互转”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“JDK8怎么通过Stream对List、Map操作和互转”吧!

成都创新互联网站建设公司是一家服务多年做网站建设策划设计制作的公司,为广大用户提供了成都做网站、成都网站制作,成都网站设计,1元广告,成都做网站选成都创新互联,贴合企业需求,高性价比,满足客户不同层次的需求一站式服务欢迎致电。

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

List 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://www.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 class 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));

到此,相信大家对“JDK8怎么通过Stream对List、Map操作和互转”有了更深的了解,不妨来实际操作一番吧!这里是创新互联网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!


本文名称:JDK8怎么通过Stream对List、Map操作和互转
文章出自:http://azwzsj.com/article/ihoihj.html