java - 将 Hashmap 用于键的多个值,为什么?

标签 java dictionary collections

我被困在这里了:

我的输入文件:

123 456 789
872 727 282
123 838 831
818 833 939

现在,我需要将数据保存在 HashMap 、二维数组或任何可能的最佳替代方案中:

key    value
123 -> 456, 789, 838, 831
872 -> 727, 282
818 -> 833, 939

实现此目标的最佳方式(简单且优化)是什么?使用什么?

我正在尝试 Map<String, List> rawData = new HashMap<String, List>(); 但没有成功。

我是java新手。 :)

最佳答案

Map<String, List<String>> data = new HashMap<String, List<String>>();

void addValue(String key, String value) {
  if (!data.contains(key)) {
    data.put(key, new LinkedList());
  }
  data.get(key).add(value);
}

我不太确定 Java 方法的确切名称,但这应该是主要的名称。每个 HashMap 键都指向一个包含您的选项的 LinkedList

关于java - 将 Hashmap 用于键的多个值,为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1969501/

相关文章:

python - 访问 Python 字典元素

java - 不相交集数据结构是在 Java 中本地实现的吗?

java - HTTP Post 到 API 返回 403 FORBIDDEN

java - 如何将保存的图像添加到媒体存储并生成缩略图?

Oracle 数据库中的 Java DAO 插入层

java - 试图理解 java 中的垃圾收集

java - 从集合构造 PriorityQueue 的时间复杂度是多少?

java - 在 Linux 上使用模态对话框时 busy cursor 的 Swing 渲染问题

c# - 如何使用 redis 字典添加 IEnumerable< T > 集合数据?

java - 我如何使用 XStream 为简单 map 生成较小的输出?