最近,我与一位同事讨论了在Java中将List转换为Map的最佳方式,以及这样做是否有任何具体好处.

我想知道最佳转换方法,如果有人能指导我,我将不胜感激.

这是一种好方法吗?

List<Object[]> results;
Map<Integer, String> resultsMap = new HashMap<Integer, String>();
for (Object[] o : results) {
    resultsMap.put((Integer) o[0], (String) o[1]);
}

推荐答案

List<Item> list;
Map<Key,Item> map = new HashMap<Key,Item>();
for (Item i : list) map.put(i.getKey(),i);

当然,假设每个项都有一个getKey()方法,该方法返回正确类型的键.

Java相关问答推荐

为什么从 Java 代码中提取 SQL Server 序列时会跳两个?

@Query Java Spring Boot

如何在日期选择器中设置不在当前月份的单元格

HandlerInterceptor 有一个 Object 处理参数,什么类型会被传入拦截器?

使用状态模式了解对象的状态

使用 Streams 在两个列表 List 中查找重复项

Stream API - 如果 filter() 紧随其后, sorted() 操作如何工作?

无法在 JSP 和 Servlet 中解析方法 getException()

英特尔酷睿 i5 处理器上的 Java 多线程

如何在收到 2 个整数之前要求输入?

带有可变参数的消费者

如何更改 GridPane 中节点的位置

Java - 单个语句中的变量声明、赋值和空值判断

在处理可能为空的流时寻找解决 Stream.allMatch 等于 true 的优雅方法

Java 的 Git Bash 终端编码问题

我是否缺少序列化演示的简单内容

如何在 Spring-Data-JDBC 中设置 fetch-size

Android - 中止崩溃

迷宫 2D 递归算法死胡同问题

使用 Selenium 使用 sendKeys() 时,大写字母被重新排列/交换