【问题标题】:Fetching a record from an arraylist that is made up of arrays of objects从由对象数组组成的数组列表中获取记录
【发布时间】: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 实际上它并不是一个键/值对,这就是原因。它们是两个不同的对象。

标签: java spring list


【解决方案1】:

如果您不想成为线性搜索的受害者,您应该考虑使用除List 之外的其他类型的数据结构。

您描述的用例似乎很适合Map。如果您想要恒定时间键查找,请考虑改用HashMap

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-03-08
    • 2011-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-08
    • 2017-10-06
    • 2022-12-10
    相关资源
    最近更新 更多