[英]Data structure with index and two values in java
我有一些要整理的数据,但是我发现键值数据结构不符合我的要求。
我有一些像这样的数据:
1 | new CustomObject[] {...}
1 | etc...
5 |
8 |
19 |
当前,我将第一列放入一个键,第二列放入一个值。
我遇到的问题是,当我将新值放入键值数据结构中时,有时一个键的值会被覆盖,因为同一键有多个值。
理想情况下,我要查找的数据结构将具有诸如keyAt(int index)
。
有谁知道哪种数据结构可以满足我的要求?
自从我为Android开发以来,我已经查看了Android数据结构(如SparseArray<E>
和ArrayMap<K, V>
的文档,但是它们都是键值结构,这意味着在放置新值时将覆盖我的键。
据我了解,您真正想要的是一个有序数组,每个索引有两个值。 根据我的理解,您可以执行两个并行的ArrayList
,其中一个是“键”列表,另一个保存与键关联的值。 您只需要确保将某项添加到其中一项时,就同时更新了另一项。 您可以做的另一件事是创建一个类,其中该类的每个实例都包含“键”及其值。
另一个选择是具有HashMap<Key, List<value>>
,以便每个键都有与其关联的值的列表。
在Pedro的评论的帮助下,我能够找到针对我的特定用例的解决方案。
由于我使用的是Android,因此我使用Pair<F, S>
类(也可以通过v4支持库获得)和List<E>
来帮助我实现所需的功能。
我用了:
List<Pair<Integer, CustomObject>>
class Key {
public int hashCode() {
/*terurn something*/
}
}
Map<Key,ArrayList<V>>
什么不符合您的要求?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.