Java键值对对象,不是一个数组/映射。

3

我需要一个键值对对象,只有两个字符串。

所以可以使用 Object<String, String>

在Java中是否存在现成的对象来方便这个操作,避免重复造轮子?

我没有立即选择使用Hash/Map是因为那个对象是用来存储多个键值对的。是否有一个专门设计用于存储单个键值对的对象,如果需要,我可以将其转换为数组?


看起来像是元组的标准实现... - James Cronen
在C++中,没有像Pair这样的内置对象来支持这一点,但是相对容易创建一个。 - Hunter McMillen
1
已回答:https://dev59.com/SHVC5IYBdhLWcg3w4VVz - cadrian
"我可以把它转换成数组,如果我有兴趣这样做的话?" -- 你能澄清一下吗?你想要Pair(str1, str2).toArray() --> [str1, str2],还是你实际上想要一个单条目映射? - trutheality
@CQM 只是想知道你是否真的需要 Collections.singletonMap(...) - trutheality
3个回答

4
你需要创建自己的类。据我所知,这样做是为了从类名中更好地体现语义含义,而不是使用通用的Pair<>KeyValuePair<>

请参考 https://dev59.com/SHVC5IYBdhLWcg3w4VVz#156685 了解更多解释。 - Louis Wasserman

2

1
这个类有点暗示着这个类将作为某个东西的一部分使用,带有一堆这些 Entry 对象。但是 OP 只想要一个独立的对象,可以容纳两个东西。 - Hunter McMillen

0

你可以尝试使用一种Pair的链表。

基本结构

(0) --> <-- ((0)(Pair < 1, "Stud" >)(2)) --> <-- (1)(Pair < 2, "Sexy" >)(3)....

其中结构中的每个节点为(prev. < K,V >, this < K,V >, next < K,V >),允许有重复的键...

如果链表为空,则头和尾都为null;


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接