全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

java 三种将list转换为map的方法详解

java 三种将list转换为map的方法详解

 在本文中,介绍三种将list转换为map的方法:

1) 传统方法

假设有某个类如下 

class Movie { 
   
  private Integer rank; 
  private String description; 
   
  public Movie(Integer rank, String description) { 
    super(); 
    this.rank = rank; 
    this.description = description; 
  } 
   
  public Integer getRank() { 
    return rank; 
  } 
 
  public String getDescription() { 
    return description; 
  } 
 
  @Override 
  public String toString() { 
    return Objects.toStringHelper(this) 
        .add("rank", rank) 
        .add("description", description) 
        .toString(); 
  } 
} 

    使用传统的方法:   

@Test 
public void convert_list_to_map_with_java () { 
   
  List<Movie> movies = new ArrayList<Movie>(); 
  movies.add(new Movie(1, "The Shawshank Redemption")); 
  movies.add(new Movie(2, "The Godfather")); 
 
  Map<Integer, Movie> mappedMovies = new HashMap<Integer, Movie>(); 
  for (Movie movie : movies) { 
    mappedMovies.put(movie.getRank(), movie); 
  } 
   
  logger.info(mappedMovies); 
 
  assertTrue(mappedMovies.size() == 2); 
  assertEquals("The Shawshank Redemption", mappedMovies.get(1).getDescription()); 
} 

2) JAVA 8直接用流的方法:  

@Test 
public void convert_list_to_map_with_java8_lambda () { 
   
  List<Movie> movies = new ArrayList<Movie>(); 
  movies.add(new Movie(1, "The Shawshank Redemption")); 
  movies.add(new Movie(2, "The Godfather")); 
 
  Map<Integer, Movie> mappedMovies = movies.stream().collect( 
      Collectors.toMap(Movie::getRank, (p) -> p)); 
 
  logger.info(mappedMovies); 
 
  assertTrue(mappedMovies.size() == 2); 
  assertEquals("The Shawshank Redemption", mappedMovies.get(1).getDescription()); 
} 

3) 使用guava 工具类库 

@Test 
public void convert_list_to_map_with_guava () { 
 
   
  List<Movie> movies = Lists.newArrayList(); 
  movies.add(new Movie(1, "The Shawshank Redemption")); 
  movies.add(new Movie(2, "The Godfather")); 
   
   
  Map<Integer,Movie> mappedMovies = Maps.uniqueIndex(movies, new Function <Movie,Integer> () { 
     public Integer apply(Movie from) { 
      return from.getRank();  
  }}); 
   
  logger.info(mappedMovies); 
   
  assertTrue(mappedMovies.size() == 2); 
  assertEquals("The Shawshank Redemption", mappedMovies.get(1).getDescription()); 
} 

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!


# list转换为map的方法  # java  # list转换为map的几种方法  # list转换为map  # Java中List与Map初始化的一些写法分享  # Java集合Set、List、Map的遍历方法  # java中数组list map三者之间的互转介绍  # Java如何在List或Map遍历过程中删除元素  # Java三种方法将List转换为Map的实例  # Java中List转Map的几种具体实现方式和特点  # 三种  # 转换为  # 希望能  # 谢谢大家  # 类库  # getDescription  # Override  # toString  # return  # public  # super  # getRank  # Test  # convert_list_to_map_with_java  # void  # add  # Objects  # toStringHelper  # List  # description 


相关文章: 怎么制作一个起泡网,水泡粪全漏粪育肥舍冬季氨气超过25ppm,可以有哪些措施降低舍内氨气水平?  建站主机CVM配置优化、SEO策略与性能提升指南  如何用手机制作网站和网页,手机移动端的网站能制作成中英双语的吗?  手机网站制作与建设方案,手机网站如何建设?  网站制作软件有哪些,制图软件有哪些?  如何通过免费商城建站系统源码自定义网站主题与功能?  详解ASP.NET 生成二维码实例(采用ThoughtWorks.QRCode和QrCode.Net两种方式)  高配服务器限时抢购:企业级配置与回收服务一站式优惠方案  微网站制作教程,不会写代码,不会编程,怎么样建自己的网站?  我的世界制作壁纸网站下载,手机怎么换我的世界壁纸?  如何在Windows服务器上快速搭建网站?  建站之星代理平台如何选择最佳方案?  如何解决ASP生成WAP建站中文乱码问题?  用v-html解决Vue.js渲染中html标签不被解析的问题  建站之星安装步骤有哪些常见问题?  深圳网站制作平台,深圳市做网站好的公司有哪些?  网站制作与设计教程,如何制作一个企业网站,建设网站的基本步骤有哪些?  电影网站制作价格表,那些提供免费电影的网站,他们是怎么盈利的?  西安专业网站制作公司有哪些,陕西省建行官方网站?  建站之星后台密码遗忘或太弱?如何重置与强化?  电视网站制作tvbox接口,云海电视怎样自定义添加电视源?  如何在搬瓦工VPS快速搭建网站?  上海网站制作网页,上海本地的生活网站有哪些?最好包括生活的各个方面的?  电商网站制作价格怎么算,网上拍卖流程以及规则?  网站制作专业公司有哪些,如何制作一个企业网站,建设网站的基本步骤有哪些?  Swift中循环语句中的转移语句 break 和 continue  建站之星导航配置指南:自助建站与SEO优化全解析  如何在IIS管理器中快速创建并配置网站?  制作假网页,招聘网的薪资待遇,会有靠谱的吗?一面试又各种折扣?  免费ppt制作网站,有没有值得推荐的免费PPT网站?  小型网站建站如何选择虚拟主机?  如何用景安虚拟主机手机版绑定域名建站?  如何快速搭建FTP站点实现文件共享?  成都品牌网站制作公司,成都营业执照年报网上怎么办理?  济南专业网站制作公司,济南信息工程学校怎么样?  C++中的Pimpl idiom是什么,有什么好处?(隐藏实现)  建站之星如何防范黑客攻击与数据泄露?  *服务器网站为何频现安全漏洞?  建站之星如何开启自定义404页面避免用户流失?  如何选择CMS系统实现快速建站与SEO优化?  海南网站制作公司有哪些,海口网是哪家的?  如何通过VPS建站无需域名直接访问?  如何高效搭建专业期货交易平台网站?  如何生成腾讯云建站专用兑换码?  成都响应式网站开发,dw怎么把手机适应页面变成网页?  重庆市网站制作公司,重庆招聘网站哪个好?  网站制作知乎推荐,想做自己的网站用什么工具比较好?  公司门户网站制作公司有哪些,怎样使用wordpress制作一个企业网站?  如何用y主机助手快速搭建网站?  建站ABC备案流程中有哪些关键注意事项? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。