gpt4 book ai didi

java - 如何根据 myobject 的属性对 ArrayList 进行排序

转载 作者:行者123 更新时间:2023-12-01 06:40:50 28 4
gpt4 key购买 nike

我想根据对象属性对 ArrayList 中的一些对象进行排序。该对象具有:

public class Minterm

{
String minTerm;
char flagTick;
String minTermDerive;
int groupNo;
String adjGroup;
static int MaxLiterals;

然后我在主要方法中有这个:

ArrayList<Minterm> column =new  ArrayList<Minterm>();

然后我在列表中添加一些 Minterm 类型的对象。但最后我想组织它们并在成员变量groupNo上对它们进行排序(升序)。

我搜索并想出了我尝试过但没有成功的可比较和比较器接口(interface)。还有其他方法可以做到这一点吗?或者我的比较器执行错误了。

编辑:以下是我为比较器编写的代码。请确认是否按升序排序?

package backEnd;

import java.util.Comparator;

public class Comp implements Comparator<Minterm>
{
@Override
public int compare(Minterm a, Minterm b)
{
return a.getgroupOne().compareTo(b.getgroupOne());
}
}

我运行它:

Collections.sort(column , new Comp());

似乎工作正常。但我对此没有很好的理解。请确认是否按升序排序?

最佳答案

你应该让Minterm实现Comparable<MinTerm>或编写自定义 Comparator对于 MinTerm然后使用 Collections.sort .

使用比较器,它看起来像这样:

Collections.sort(column, new Comparator<Minterm>() {
@Override
public int compare(Minterm o1, Minterm o2) {
return Integer.valueOf(o1.groupNo).compareTo(o2.groupNo);
}
});

关于您的编辑:

是的。排序Minterm基于按升序顺序排列的组。

关于java - 如何根据 myobject 的属性对 ArrayList<myobject> 进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10818455/

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