gpt4 book ai didi

java - JAVA中的集合中的自定义对象列表(列表,数组,映射等...)Spring应用程序

转载 作者:行者123 更新时间:2023-12-02 05:27:31 25 4
gpt4 key购买 nike

根据要求,我必须创建一个自定义对象列表,其中包含集合中的 id、名称、地址等详细信息(数组、列表、 map 等..)如何遍历集合列表以获取基于id的唯一记录?

我创建了一个 List 对象,它包含不同的集合类型,如 arraylist、set、map 等...将自定义对象值分配给 List 后,它会转换为 Object 类对象。例如,我创建了一个自定义对象对象以 hashmap 的形式,键为 1,值为 id=1、name=aaa、address=delhi 的自定义对象,并将自定义对象分配给列表,我正在使用 arraylist 和重复相同的过程来创建自定义对象也设置一下..如何遍历List对象以便根据id唯一地获取用户详细信息?

List<Collection> customobjectlist

customobjectlist.add(list)
customobjectlist.add(set)
customobjectlist.add(map)

这里每个列表、集合和映射都包含 5 个自定义对象。我必须遍历自定义对象列表才能根据 ID 唯一地获取用户详细信息?

最佳答案

Map不是Collection在Java中,所以你的代码:

List<Collection> customobjectlist

customobjectlist.add(list)
customobjectlist.add(set)
customobjectlist.add(map)

如果您的变量 map 则无效是 Map 的子类的实例界面。

第二期,您应该输入 Collection (例如: List<Collection<MyObject>> ),否则你会得到 Object从集合中,您必须检查 instanceof每次都这样,真的不是什么好事!

因此,如果您输入 Collection并仅添加 Collection<MyObject> (不是 Map )到 customobjectlist ( ListSetQueueStackVector ,...)您必须循环集合才能找到您的对象:

for (Collection coll : customobjectlist) {
for (MyObject obj: coll) {
if (theIdImLookingFor.equals(obj.getId()) {
// find it
}
}
}

这不是唯一的方法,在 Java 8+ 中,您可以使用流 API :

customobjectlist.stream()
.flatMap(Collection::stream)
.findFirst(obj -> theIdImLookingFor.equals(obj.getId()))

关于java - JAVA中的集合中的自定义对象列表(列表,数组,映射等...)Spring应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56221030/

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