Java三种方法将List转换为Map的实例

 更新时间:2018年10月26日 15:19:29   作者:Sam哥哥  
今天小编就为大家分享一篇关于Java三种方法将List转换为Map的实例,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧

1.for循环

import com.google.common.base.Function;
import com.google.common.collect.Maps;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class ListToMap {
  public static void main(String[] args) {
    List<User> userList = new ArrayList<>();
    User user1 = new User();
    user1.setId(1L);
    user1.setAge("12");
    User user2 = new User();
    user2.setId(2L);
    user2.setAge("13");
    userList.add(user1);
    userList.add(user2);
    Map<Long, User> maps = new HashMap<>();
    for (User user : userList) {
      maps.put(user.getId(), user);
    }
    System.out.println(maps);
  }
  public static class User {
    private Long id;
    private String age;
    public Long getId() {
      return id;
    }
    public void setId(Long id) {
      this.id = id;
    }
    public String getAge() {
      return age;
    }
    public void setAge(String age) {
      this.age = age;
    }
    @Override
    public String toString() {
      return "User{" +
          "id=" + id +
          ", age='" + age + '\'' +
          '}';
    }
  }
}

2.使用guava

Map<Long, User> maps = Maps.uniqueIndex(userList, new Function<User, Long>() {
      @Override
      public Long apply(User user) {
        return user.getId();
      }
});

3.使用JDK1.8

Map<Long, User> maps = userList.stream().collect(Collectors.toMap(User::getId, user -> user));

看来还是使用JDK 1.8方便一些。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。如果你想了解更多相关内容请查看下面相关链接

相关文章

  • SpringBoot项目中引入本地JAR包配置的几种方法

    SpringBoot项目中引入本地JAR包配置的几种方法

    SpringBoot有时需要引入本地JAR包以便重用已有的代码库或者第三方库,本文主要介绍了SpringBoot项目中引入本地JAR包配置的几种方法,具有一定的参考价值,感兴趣的可以了解一下
    2024-08-08
  • java 非对称加密算法RSA实现详解

    java 非对称加密算法RSA实现详解

    这篇文章主要介绍了java 非对称加密算法RSA实现详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-07-07
  • JDBC连接SQL Server数据库实现增删改查的全过程

    JDBC连接SQL Server数据库实现增删改查的全过程

    实际开发中手动的输入SQL语句是少之又少,大多数情况下是通过编译代码进行来控制自动执行,下面这篇文章主要给大家介绍了关于JDBC连接SQL Server数据库实现增删改查的相关资料,需要的朋友可以参考下
    2023-04-04
  • Spring Cloud使用Feign进行远程调用的操作指南

    Spring Cloud使用Feign进行远程调用的操作指南

    本文介绍了Feign作为声明式HTTP客户端在SpringCloud中的使用,从简介、对比RestTemplate的问题、使用步骤,到日志配置、性能优化和实际应用进行了详细讲解,包括如何通过Feign简化接口调用,以及解决启动时找不到FeignClient的问题,需要的朋友可以参考下
    2025-02-02
  • java中元素排序Comparable和Comparator的区别

    java中元素排序Comparable和Comparator的区别

    本文主要介绍了java中元素排序Comparable和Comparator的区别,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-12-12
  • Springboot单元测试无法读取配置文件的解决方案

    Springboot单元测试无法读取配置文件的解决方案

    这篇文章主要介绍了Springboot单元测试无法读取配置文件的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-01-01
  • JAVA加密算法- 非对称加密算法(DH,RSA)的详细介绍

    JAVA加密算法- 非对称加密算法(DH,RSA)的详细介绍

    这篇文章主要介绍了JAVA加密算法- 非对称加密算法(DH,RSA),详细介绍了DH,RSA的用法和示例,需要的朋友可以了解一下。
    2016-11-11
  • Java加密解密和数字签名完整代码示例

    Java加密解密和数字签名完整代码示例

    这篇文章主要介绍了Java加密解密和数字签名完整代码示例,具有一定参考价值,需要的朋友可以了解下。
    2017-12-12
  • Java设计模式之观察者模式observer pattern详解

    Java设计模式之观察者模式observer pattern详解

    这篇文章主要介绍了Java设计模式之观察者模式observer pattern详解,当一个对象发生数据变化时,通知其他相关的一系列对象,接受到通知的对象根据该对象的变化进行相应处理以响应变化的过程,需要的朋友可以参考下
    2023-12-12
  • Spring Cloud Alibaba微服务组件Sentinel实现熔断限流

    Spring Cloud Alibaba微服务组件Sentinel实现熔断限流

    这篇文章主要为大家介绍了Spring Cloud Alibaba微服务组件Sentinel实现熔断限流过程示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-06-06

最新评论