我有这种类型ArrayList<HashMap<String,String>>
。我想检查该数组列表中是否存在密钥。我可以通过for循环来做到这一点,但有没有其他方法可以做到这一点?
答案 0 :(得分:1)
沿着@Bhushan的回答,创建一个新的类,它封装了地图的ArrayList,以及一个键值的Map。 E.g。
public class EncapsulatedLookup {
private ArrayList<HashMap<String,String>> data;
private Map<String, Integer> keyToArrayListPosition lookup;
}
添加方法以确保无论何时从data
添加/删除,您还会更新lookup
答案 1 :(得分:0)
在构建单独的HashMaps时,如果您可以构建超级哈希映射,那么就不需要for循环。但不知道你是否有可能。只需查看超级散列图。
答案 2 :(得分:-3)
我想到的最简单的方法是扩展HashMap类并实现.equals()方法。无论如何,这种方法也在内部使用交互。