java - Java 中通过多个其他列表对列表进行排序

标签 java sorting

我有多个相同大小的列表,需要按所有其他列表对其中一个列表进行排序。可以传入的列表数量没有限制,并且它们的顺序很重要。此外,用户可能希望对列表进行升序或降序排序。例如,有人可能希望首先按年龄降序对人员列表进行排序,如果他们的年龄相同,则按名字升序排序。

List people = List.of("John Doe", "Jane Doe", "Abe Smith")
List ages = List.of(20, 25, 20)
List firstNames = List.of("John", "Jane", "Abe")

sort(people, ages, "desc", firstNames, "asc")

Result: ["Jane Doe", "Abe Smith", "John Doe"]

编辑:用户可以按他们想要的任何其他列表对他们想要的任何列表进行排序,只要它们的大小相同。不仅仅是人。这只是他们可能想要排序的数据类型的一个示例。

最佳答案

  • 创建一个通用函数 f(people, list1, desc, list2, asc ....)
  • 以 hashMap 对象存储,people 作为键和值 list1、list2 并创建 myComprator 类并按值排序。

关于java - Java 中通过多个其他列表对列表进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57079481/

相关文章:

java - 访问同步块(synchronized block)中的静态变量

java - JAX-WS 如何在 weblogic 中隐藏 WSDL?

java - IntelliJ 显示有关使用的方法参数提示 - 如何禁用它

Java-如何在不扩展比较器的情况下对包含句点/点的字符串数组进行排序?

Python排序txt文件的内容

php - 使用 mysql 数据对分页表进行排序

java - 为什么我有映射异常?

java - Eclipse TDD - 如何加入测试和主源文件夹?

php - 按数字对奇怪的数组进行排序

对字符串数组进行排序的 JavaScript 函数在数组长度为 10 后表现得很奇怪