我有一些要整理的数据,但是我发现键值数据结构不符合我的要求。

我有一些这样的数据:

1    |  new CustomObject[] {...}
1    |  etc...
5    |
8    |
19   |


当前,我将第一列放入一个键中,第二列放入一个值中。

我遇到的问题是,当我将新值放入键值数据结构中时,有时会覆盖一个键中的值,因为同一键有多个值。

理想情况下,我要查找的数据结构将具有诸如keyAt(int index)之类的方法。

有谁知道哪种数据结构可以满足我的要求?

自从我为Android开发以来,我已经查看过Android数据结构(如SparseArray<E>ArrayMap<K, V>)的文档,但是它们都是键值结构,这意味着在放置新值时将覆盖我的键。

最佳答案

据我了解,您真正想要的是
每个索引有两个值的有序数组。你可以根据什么做
我的理解是有两个平行的ArrayList其中一个是
“键”列表,另一个保存与
键。您只需要确保将某物添加到其中,
您还更新了另一个。您可以做的另一件事是创建一个
类,其中该类的每个实例都包含“键”及其
值。


这些方法的问题是您将无法保持能力
按键拉动,但是您必须按索引拉动,然后检查
关键和价值。

另一种选择是使用HashMap<Key, List<value>>,以便每个键都有与其关联的值的列表。


这种方法的问题是您要么必须检查密钥的存在,然后在添加新元素时将其追加到现有列表中。

10-04 23:38
查看更多