gpt4 book ai didi

java - 如何对 ArrayList 中的元素进行分组

转载 作者:行者123 更新时间:2023-11-29 03:24:06 27 4
gpt4 key购买 nike

有没有一种简单快速的方法来对 Java 中的 ArrayList 中的元素进行分组?我在问是否已经有办法不用我自己实现了?类似

Collections.sort(monuments,new objectComparator());

编辑: 我有一个对象列表,其中有一个名为类别的字段,该列表显示给用户。我希望首先显示 category_type==1 的对象,依此类推。

我不能用比较器实现这个,因为比较器的工作方式是这样的:

如果第一个值更大则返回 int a>0返回一个

最佳答案

实际上这可以通过比较器来实现:

public int compareTo(Monument o) {
Integer otherCategory = o.getCategoryType();
Integer thisCategory = this.getCategoryType();
return thisCategory.compareTo(otherCategory);
}

如果它们相同,比较器将返回 0,如果 thisCategory 小于 otherCategory,则返回 -1,如果 thisCategory 大于,则返回 1比 otherCategory

下面是基于这个想法的单元测试:

public class SortTest {

@Test
public void test() {
List<Integer> list = new ArrayList<Integer>();
list.add(1);
list.add(2);
list.add(3);
list.add(4);
list.add(1);

System.out.println("Unsorted: " + list);

Collections.sort(list);

System.out.println("Sorted: " + list);
}

}

输出:

Unsorted: [1, 2, 3, 4, 1]
Sorted: [1, 1, 2, 3, 4]

关于java - 如何对 ArrayList<CustomObject> 中的元素进行分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21989020/

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