除非值不同,否则JAva中的数据结构具有SAME索引号键

时间:2014-07-07 08:53:46

标签: java data-structures

我有一些值(a,a,b,c,f,f,g)我想要存储在基于唯一索引的数据结构中,我可以稍后迭代获取我的价值观。但是,如果值相同,则索引号必须相同。

任何人都可以告诉我哪种方法最简单?

E.g

1 a
1 a
2 b
3 c
4 f
4 f
5 g
LATER,

根据INDEX迭代DATA STRUCTURE以获取我的值

2 个答案:

答案 0 :(得分:0)

这种数据结构的通常习惯是

Map<Integer,Pair> int2pair

其中

class Pair {
    int count;
    char value; // a, b, c
}

如果索引值确实是索引值,请使用

List<Pair> pairs

可能由地图备份

Map<Char,Integer> value2index

通过其值更快地查找索引。

很大程度上取决于你没有告诉我们的事情,例如音量,也是一个可能具有不同值的索引,相同的值会出现不同的索引值,检索访问的频率以及如何...

答案 1 :(得分:0)

如果我理解你的要求,

然后Hashing with separate chaining将成为可能的解决方案之一

enter image description here

这是complete solution