我想存储一个键,值对,它允许我按位置获取值(排序必须持久)或按键名称。我正在考虑使用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;
答案 0 :(得分:6)
您可以使用LinkedHashMap。它维护插入的订单。您无法通过索引获取,因为它们都实现了Map接口。你可以这样做 -
public List<String> getByIndex(final LinkedHashMap<String, List<String>> myMap, final int index){
return (List<String>)myMap.values().toArray()[index];
}