gpt4 book ai didi

java - 按字母顺序对复杂对象的数组列表进行排序

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:26:47 27 4
gpt4 key购买 nike

我知道 Collections.sort(myArrayList) 可以在数组列表是字符串时按字母顺序对其进行排序,但是当它们是更复杂的东西时怎么办,例如包含两个或多个变量的数据对象,包括字符串。那么有没有办法对它们进行排序?

如果 Collections 没有办法,那么我可以想象制作一个 for 循环或标准排序算法来查看每个对象的字符串变量并移动对象在数组中的索引。

但我主要想知道我是否忽略了一些关于Collections 方法

最佳答案

使用the function taking as second parameter a Comparator .

Il 允许您传递 Comparator 的实例以根据您的需要进行排序。请注意 javadoc of Comparator包含有关构建比较器的指南。

如果只在本地使用,您可以将比较器定义为匿名类。下面是一个示例,我根据其中一个字段对对象进行排序,该字段是 String :

Collections.sort(groupResults, new Comparator<ProductSearchResult>() {
public int compare(ProductSearchResult result1, ProductSearchResult result2) {
return result1.product.getRsId().compareTo(result2.product.getRsId());
}
});

或者,您也可以让您的类实现 Comparable接口(interface),但这只有在您可以定义自然(明显)顺序时才有意义。

关于java - 按字母顺序对复杂对象的数组列表进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13380908/

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