当前位置: 首页 > 知识库问答 >
问题:

Java:将列表中的项目有效地放入HashMap中[重复]

施华奥
2023-03-14

我这里有一个清单:

List<QueryStrings> queryStrings
public class QueryStrings {
    private Integer id;
    private String rel;
    private String impl;
}
HashMap<Integer, QueryStrings> queryMap = new HashMap<>();
for (QueryStrings element : queryStrings) {
    Integer thisId = Integer.parseInt(element.getId());
    queryMap.put(thisId, element);
}

对不起,我不应该解析整数,所以代码应该是这样的:

HashMap<Integer, QueryStrings> queryMap = new HashMap<>();
for (QueryStrings element : queryStrings) {
    queryMap.put(element.getId(), element);
}

共有1个答案

况谦
2023-03-14

如果int已经是int了,就不要解析它!

HashMap<Integer, QueryStrings> queryMap = new HashMap<>();
for (QueryStrings element : queryStrings) {
    queryMap.put(element.getId(), element);
}

也就是说,如果是Java8,您可以有更简洁的语法,尽管性能差异很小。

list.stream().collect(Collectors.toMap(QueryStrings::getId, Function.identity()));
 类似资料:
  • 问题内容: 我当前正在从文本文件中读取200万行,如上一个问题中所述 。Java读取200万行文本文件的最快方法 现在,我将这些信息存储到HashMap中,并希望通过TreeMap对其进行排序,因为我想使用ceilingkey。以下方法正确吗? 问题答案: HashMap hashMap = new HashMap (); TreeMap treeMap = new TreeMap (); tre

  • 以下程序的目的是将4个字符的单词从转换为,我已经完成了让该列表和len工作的困难部分。 问题是程序逐行输出答案,我想知道是否有任何方法可以将输出存储回列表,并将其作为一个完整的句子打印出来? 谢谢

  • 我想把我从stdin收到的一些浮点放在一个列表中。但使用以下程序只返回一个对象。我如何把我收到的彩车放在一个列表中? 输入如下所示:0.1 0.1 0.3 0.4 0.1 0.4 0.2 0.1 0.1 0.2 0.5 0.05 0.15 0.1 0.2 0.6 0.1 0.1 0.1 0.5 0.5 0.2 0.2 0.05 0.05

  • 问题内容: 我有一个列表,它将一个单词的每个字母一个一个地添加到该列表中,直到程序运行,我才知道列表中会包含什么。如何将列表中的每个字母连成一个单词?例如变成。 问题答案: 您可以使用再次转换回字母列表:

  • 问题内容: 我试图在下拉列表中插入图像。我尝试了以下代码,但无法正常工作。实现此目标的最佳方法是什么? 问题答案: 此代码仅在Firefox中有效: 编辑(2018年4月): Firefox不再支持此功能。

  • 问题内容: 在Java中,如何获取作为a返回的值? 问题答案: