gpt4 book ai didi

java - 直接访问可迭代对象

转载 作者:行者123 更新时间:2023-11-29 07:30:21 25 4
gpt4 key购买 nike

我得到一个可迭代列表,我使用以下代码对其进行迭代

for (IssueField issueObj : issue.getFields())
{
System.out.println(issueObj.getId());
}

列表结构如下

[IssueField{id=customfield_13061, name=Dev Team Updates, type=null, value=null},
IssueField{id=customfield_13060, name=Development, type=null, value={}},
IssueField{id=customfield_11160, name=Rank, type=null, value=1|i0065r:},
IssueField{id=customfield_13100, name=TM Product, type=null, value=IntelliGlance},
IssueField{id=customfield_11560, name=Release Notes, type=null, value=null},
IssueField{id=customfield_13500, name=Request Type, type=null, value=null},
IssueField{id=customfield_13900, name=Category, type=null, value=null},
IssueField{id=environment, name=Environment, type=null, value=null}]

列表中有超过 100 个这样的对象。有没有一种方法可以在不迭代所有值的情况下直接获取所需的对象值。目前正在使用我认为效率不高的类似方法。

for (IssueField issueObj : issue.getFields())
{
if(issueObj.getId().equalIgnoreCase(someId)){
//Object Found
}
}

最佳答案

如果您希望能够像您所说的那样对大型数据集进行频繁搜索,那么您应该使用 HashMap,其中字符串是 getId() 中的值。搜索 HashMap 的大 O 时间复杂度是 O(1),而列表是 O(n)。这将为您带来理想的效率。

关于java - 直接访问可迭代对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43739658/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com