gpt4 book ai didi

java - 如何根据项目的主序列列表对一小部分项目进行排序?

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:37:14 24 4
gpt4 key购买 nike

如果我有一个按优先级/顺序排序的项目的概念性主列表:

1. dog

2. cat

3. fish

4. bunny

5. hamster

另一个列表带有值

["bunny", "dog", "fish"]

如何根据主列表对传入列表进行排序?所以,在这个例子中,我希望第二个列表的结果是

["dog", "fish", "bunny"]

排序后。

我可以手动编写一个函数来实现它,但我觉得 Java 已经有某种内置和优化的方法来做这种事情。在 Java 中完成此类列表排序的最佳方法是什么?

最佳答案

您可以做的是创建主副本并使用 List#retainAll方法来保留主控中的顺序。

示例:

// Master list
List<String> master = new ArrayList<>(Arrays.asList("dog", "cat", "fish", "bunny", "hamster"));

// list to sort with respect to master
List<String> listToSort = new ArrayList<>(Arrays.asList("bunny", "dog", "fish"));

// copy of master
List<String> masterCopy = new ArrayList<>(master);

// keep only the items in masterCopy that are in the listToSort
masterCopy.retainAll(listToSort);

System.out.println(masterCopy);

输出:

[dog, fish, bunny]

关于java - 如何根据项目的主序列列表对一小部分项目进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37799020/

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