【发布时间】:2013-12-06 23:27:46
【问题描述】:
我有一张如下图
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
但是还有其他简单的方法吗?提前谢谢...
【问题讨论】:
-
你试过使用
Collections.binarySearch(list, "one");吗? -
@Linus "one" 是 TestVO 类的名称属性。 TestVO 的实例存储在 List 中。
-
您在链接的问题中阅读了this answer 吗?
-
@R.J 我看到了标记的答案
-
标记答案并不意味着这是最佳答案。这意味着标记的答案帮助 OP 解决了他们的问题,但并不意味着其他答案是错误的。如果您阅读了其他答案,您就会看到它,并且如果您不受任何不使用 3rd-party lib 的条款的约束,那么我提出的答案很可能是您的解决方案。为什么不试一试呢?
标签: java list search map arraylist