gpt4 book ai didi

java - 如何最好地使用一个 ArrayList 的顺序在 Java 中对另一个 ArrayList 进行排序?

转载 作者:行者123 更新时间:2023-11-29 10:05:28 26 4
gpt4 key购买 nike

对于我目前正在开发的 Java 应用程序,我正在使用一个 ID 系统,每个 ID 都是一个唯一的字符串。我有两个数组列表,一个是 ArrayList<String>其中仅包含正确顺序的 ID,另一个是对象数组列表,所有对象均具有 .ID 字段。对对象数组列表进行排序以使其 ID 与字符串 ID 数组列表的顺序相同的最佳方法是什么?

最佳答案

我会使用 ID 作为键将所有对象放入 HashMap 中,然后运行第二个 ID 列表并使用 ID 和映射创建新的对象列表。应该有一个大约 2n -> n 的复杂度,而不是资源友好的。

编辑:明确我的意思

List<String> idList;
List<ObjectWithID> objectList;

Map<String, ObjectWithID> helperMap=new HashMap<>();

//first O(n)
for (ObjectWithID o:objectList) {
helperMap.put(o.ID, o);
}

int i=0;
//second O(n)
for (String id:idList) {
objectList.set(i,helperMap.get(id));
i++;
}

假设 objectList 和 idList 分别具有相同的大小和相同的 ids/object.IDs。

关于java - 如何最好地使用一个 ArrayList 的顺序在 Java 中对另一个 ArrayList 进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9421877/

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