我有以下课程:
public class Orador {
int id;
int situacao;
Expediente expediente;
}
public class Expediente {
int id;
int sequencia;
}
public class SequenciaExpedienteComparator implements Comparator<Orador> {
@Override
public int compare(Orador o1, Orador o2) {
return o1.getExpediente().getSequencia().compareTo(o2.getExpediente().getSequencia());
}
}
public class DiscursoRealizadoComparator implements Comparator<Orador> {
@Override
public int compare(Orador o1, Orador o2) {
Integer situacaoOrador1 = ((Orador) o1).getSituacao().value();
Integer situacaoOrador2 = ((Orador) o2).getSituacao().value();
// situacao == 1 must be the first in the list
if (situacaoOrador1 == 1) {
return -1;
}
if (situacaoOrador2 == 1) {
return 1;
}
return situacaoOrador1.compareTo(situacaoOrador2);
}
}
Collections.sort(listaOradores, new SequenciaExpedienteComparator());
Collections.sort(listaOradores, new DiscursoRealizadoComparator());
你可以这样做,例如:
final static Comparator<Orador> comparator = new Comparator<Orador> {
@Override
public int compare(Orador o1, Orador o2) {
if (o1.getSituacao() == 1) {
return -1;
}
if (o2.getSituacao() == 1) {
return 1;
}
int ret = Integer.compare(o1.getSituacao(), o2.getSituacao());
if (ret != 0) {
return ret;
}
return Integer.compare(o1.getExpediente().getSequencia(),
o2.getExpediente().getSequencia());
}
}
我更改了代码以避免自动装箱(因为我讨厌它;-)
问题内容: 我有一个简单的类,其中包含一个字符串(名称)和一个整数(年龄)。应存储在集合中的对象不得具有双名值,并且应根据年龄的降序进行排序。第一个代码示例删除所有双精度名称,但不包含第二个排序条件: 下一个示例比较器将对其余对象集进行排序,该对象集不包含任何重复名称: 第二个比较器正确地根据对象的年龄值对它们进行排序,但是它允许使用重复名称,我不明白,因为外部if语句已经检查了两个对象的名称是否
下一个示例比较器将对不包含任何双名的对象的其余集合进行排序: 第二个比较器正确地根据对象的年龄值对其进行排序,但它允许使用双重名称,我不明白这一点,因为外部的if-语句已经检查了两个对象的名称是否相等。为什么会这样?
问题内容: 当给出两套时 s1 = {a,b,c,d} s2 = {b,c,d,a} (IE) 如何编写Sql查询以显示“ tableA和tableB中的元素相等”。[不使用SP或UDF] 输出 问题答案: 使用: 测试:
问题内容: 我试图突出显示两个数据框之间到底发生了什么变化。 假设我有两个Python Pandas数据框: 我的目标是输出一个HTML表: 标识已更改的行(可以是int,float,boolean,string) 输出具有相同,OLD和NEW值的行(理想情况下,将其输出到HTML表中),以便使用者可以清楚地看到两个数据框之间的变化: id Name score isEnrolled Commen
我已经阅读并理解了Mergesort的工作原理(作为文本),现在我正在尝试对其进行编码。我已经完成了分割数据的部分(我使用向量),直到它的每个大小都为1。现在我已经在Mergesort中为另一个所需部分编写了代码,我不知道该如何调用它,但我只是称它为“比较和排序部分”。 你有两个向量,这个部分应该比较最开始的元素,取较小的元素,然后删除选择的元素,把它放入一个新的向量中。这样做,直到两个向量的大小
我想我可以做一个逐行和逐列的比较,但有没有更简单的方法?