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方便一些。

总结

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

相关文章

  • spring schedule配置多任务动态cron(增删启停)

    spring schedule配置多任务动态cron(增删启停)

    这篇文章主要介绍了spring schedule配置多任务动态cron(增删启停),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • JAVA实现数字大写金额转换的方法

    JAVA实现数字大写金额转换的方法

    这篇文章主要介绍了JAVA实现数字大写金额转换的方法,涉及java针对字符串与数组的遍历与转换相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-07-07
  • Java读取文件的几种方式详细总结

    Java读取文件的几种方式详细总结

    这篇文章主要给大家介绍了关于Java读取文件的几种方式,文中通过代码示例将几种方式介绍的非常详细,对大家学习或者使用Java具有一定的参考学习价值,需要的朋友可以参考下
    2023-08-08
  • java中BeanUtils.copyProperties的用法(超详细)

    java中BeanUtils.copyProperties的用法(超详细)

    本文介绍了BeanUtils.copyProperties()方法的使用,包括其功能、用法、注意事项和示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-08-08
  • springboot jackson配置教程

    springboot jackson配置教程

    这篇文章主要介绍了springboot jackson配置教程,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-10-10
  • IDEA 设置显示内存的使用情况和内存回收的方法

    IDEA 设置显示内存的使用情况和内存回收的方法

    这篇文章主要介绍了IDEA 设置显示内存的使用情况和内存回收的方法,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-04-04
  • JAVA_基本LDAP操作实例

    JAVA_基本LDAP操作实例

    这篇文章介绍了JAVA_基本LDAP操作实例,有需要的朋友可以参考一下
    2013-09-09
  • SpringBoot项目部署到Tomcat的最新步骤

    SpringBoot项目部署到Tomcat的最新步骤

    通过使用Spring Boot应用程序,我们可以创建一个war文件来部署到Web服务器中,这篇文章主要给大家介绍了关于SpringBoot项目部署到Tomcat的最新步骤,需要的朋友可以参考下
    2024-01-01
  • Spring Boot 多数据源处理事务的思路详解

    Spring Boot 多数据源处理事务的思路详解

    这篇文章主要介绍了Spring Boot 多数据源如何处理事务,本文单纯就是技术探讨,要从实际应用中来说的话,我并不建议这样去玩分布式事务、也不建议这样去玩多数据源,毕竟分布式事务主要还是用在微服务场景下,对Spring Boot 多数据源事务相关知识感兴趣的朋友参考下本文
    2022-06-06
  • java 线程池状态及状态转换

    java 线程池状态及状态转换

    这篇文章主要介绍了java 线程池状态及状态转换,Java里线程池的状态和线程的状态是完全不同的,具体有几种状态和哪些不同点,下面文章详细介绍,需要的小伙伴可以参考一下
    2022-05-05

最新评论