【发布时间】:2017-08-02 13:55:56
【问题描述】:
我有一个这样的 java 数组列表:
{[{},{}], [{},{}], [{},{}], [{},{}]} 大约四千条记录。
我有一个特定的键,我想通过它在这个列表中的一个对象中搜索并获取那个特定的数组 记录比赛。搜索键是一个字符串。
有没有不遍历整个列表的解决方案。
它基本上是一个这样构造的列表:
List<Object[]> list = new ArrayList<>();
我正在使用它通过连接从两个表中获取数据。每个表的单独记录映射到这些对象。
说 table1: {a:1,b:2,c:3} 和 table2: {x:1,y:2,z:3} 返回的数据将是
{[{a:1,b:2,c:3}, {x:1,y:2,z:3}],[{a:2,b:3,c:4}, {x:2,y:3,z:4}]}
我将如何搜索说列表中的哪个数组是 a=2。
谢谢
【问题讨论】:
-
你为什么不使用
Map? -
在java中是如何声明的?你的对象和
ArrayList...请提供一些代码。 -
更好地使用哈希映射
-
你是如何构建列表的?如果您不想成为线性搜索的受害者,则需要使用不同的数据结构(hashmap?)
-
@jeanr 实际上它并不是一个键/值对,这就是原因。它们是两个不同的对象。