最佳Java Collection,用于存储键,值对,并通过索引或键名访问其对象

时间:2013-11-29 11:49:23

标签: java android collections

我想存储一个键,值对,它允许我按位置获取值(排序必须持久)或按键名称。我正在考虑使用HashMap,但我不想遍历所有值以通过索引获取值。

我需要这样的东西:

MyCollection<String, Object> objects = new MyCollection<String, Object>();
objects.put ("id", Object1);
objects.put ("name", Object2);
// And now access the values by index:
Object obj1 = objects.get(1);
// or by key name:
Object obj2 = objects.getByKeyName("name");

什么是最好的集合(它必须是android&lt; 11兼容&gt;

1 个答案:

答案 0 :(得分:6)

您可以使用LinkedHashMap。它维护插入的订单。您无法通过索引获取,因为它们都实现了Map接口。你可以这样做 -

public List<String> getByIndex(final LinkedHashMap<String, List<String>> myMap, final int index){
   return (List<String>)myMap.values().toArray()[index];
}