这是针对Android Studio Java的。我之所以使用ArrayMap
是因为我都需要方法get(Object key)
和valueAt(int index)
。
但是ArrayMap
不会保留插入顺序。
所以我尝试了LinkedHashMap
,因为它保留了插入顺序。但是LinkedHashMap
没有valueAt(int index)
方法。
是否有一个保留插入顺序并且同时具有方法get(Object key)
和valueAt(int index)
的Map?
答案 0 :(得分:0)
祝贺您的第一篇文章!
首先,请提一个建议-与其说是Java问题,不如说是Android问题,因此,尽管用Android标记此问题可能会使其更具可见性,但标签有点误。
第二,如果要标记Java,还可以尝试标记特定的Java版本(Java 6/7/8等),该版本应在build.gradle
文件中找到...
第三,请确保您正在搜索,并确保正在查看SO的类似建议问题,因为大多数项目(例如此项目)已在之前被问及回答...
对于您的问题,Map类树没有一个具有可索引方法的实例。参见https://docs.oracle.com/javase/7/docs/api/java/util/Map.html及其后代...也https://docs.oracle.com/javase/tutorial/collections/interfaces/map.html。
但是,Apache Commons库具有LinkedMap的实现,该实现的确具有indexOf()
方法...尽管对于这种用例而言,可能会增加很多负担?
但是,有一些方法可以自己完成,主要是通过将其包装/展开到其他数据结构中来强制执行,而且效率低下(O(n)
)...
以下是一些有关此的帖子:
如您所见,性能和详细程度都是这里的潜在问题...
我想最好的办法是退后一步,看看您是否可以在此处阐明用例,以便我们可以帮助确定您要确切解决的问题...