我有一些要整理的数据,但是我发现键值数据结构不符合我的要求。
我有一些这样的数据:
1 | new CustomObject[] {...}
1 | etc...
5 |
8 |
19 |
当前,我将第一列放入一个键中,第二列放入一个值中。
我遇到的问题是,当我将新值放入键值数据结构中时,有时会覆盖一个键中的值,因为同一键有多个值。
理想情况下,我要查找的数据结构将具有诸如
keyAt(int index)
之类的方法。有谁知道哪种数据结构可以满足我的要求?
自从我为Android开发以来,我已经查看过Android数据结构(如
SparseArray<E>
和ArrayMap<K, V>
)的文档,但是它们都是键值结构,这意味着在放置新值时将覆盖我的键。 最佳答案
据我了解,您真正想要的是
每个索引有两个值的有序数组。你可以根据什么做
我的理解是有两个平行的ArrayList
其中一个是
“键”列表,另一个保存与
键。您只需要确保将某物添加到其中,
您还更新了另一个。您可以做的另一件事是创建一个
类,其中该类的每个实例都包含“键”及其
值。
这些方法的问题是您将无法保持能力
按键拉动,但是您必须按索引拉动,然后检查
关键和价值。
另一种选择是使用HashMap<Key, List<value>>
,以便每个键都有与其关联的值的列表。
这种方法的问题是您要么必须检查密钥的存在,然后在添加新元素时将其追加到现有列表中。