我有如下图

Map<String,Integer> map = new HashMap<String, Integer>();

map.put("one",1);
map.put("two",2);


如果我想从地图上获取元素,我可以使用

 map.get("one");


我有一个清单

List<TestVO> list = new ArrayList<TestVO>();
TestVO vo1 = new TestVO();
  vo1.setId(1);
  vo1.setName("one");


TestVO vo2 = new TestVO();
  vo2.setId(2);
  vo2.setName("two");

list.add(vo1);
 list.add(vo2);


如果我要从名称为“ one”的列表中进行搜索,则需要对该列表进行迭代。是否有任何简单的方法可以找到此列表?

我发现了这个Searching in a ArrayList with custom objects for certain strings

但是还有其他简单的方法吗?

最佳答案

在哈希映射中搜索数据的复杂度为O(1),与List一样,复杂度为O(N)。

因此,不幸的是答案是您必须遍历列表。这就是为什么选择正确的数据结构如此重要的原因。

10-05 23:10
查看更多