gpt4 book ai didi

java - 将两个值关联到 java HashMap 中的单个键

转载 作者:行者123 更新时间:2023-11-30 08:39:00 26 4
gpt4 key购买 nike

我正在尝试将不同数据类型的两个值 [一个长而另一个字符串] 关联到 Java HashMap 中的单个键。我环顾四周,对类似问题的建议包括使用 Apache Collections Framework 中的 MultiValuedMap 或使用 Guava 中的 MultiMap。但是我认为这些可能有点矫枉过正,而且我不想向我的系统添加额外的二进制文件。

这样定义一个类有什么问题吗:

class X {
long value1;
String value2;
X(long v, String w) { this.value1 = v; this.value2 = w;}
}

在插入 HashMap 时执行此操作:

X obj = new X(1000, "abc");
map.add("key", obj)

这种方法有什么明显的缺点吗?我正在寻找一种可在查找中很好地扩展的解决方案。

谢谢!

最佳答案

您的方法没有问题。由于 Java 缺少元组类,您可以定义自己的通用类(而不是类 X):

public class Tuple<X, Y> { 
public final X x;
public final Y y;
public Tuple(X x, Y y) {
this.x = x;
this.y = y;
}
}

另见 Using Pairs or 2-tuples in Java

用法如下:

    Map<String,Tuple<Long,String>> map = new HashMap<>();
Tuple<Long,String> obj = new Tuple<>(1000L, "abc");
map.put("key", obj);

关于java - 将两个值关联到 java HashMap 中的单个键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36328215/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com