Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何对具有多种类型对象的ArrayList进行排序_Java_Arraylist - Fatal编程技术网

Java 如何对具有多种类型对象的ArrayList进行排序

Java 如何对具有多种类型对象的ArrayList进行排序,java,arraylist,Java,Arraylist,我想创建一个对象类型为multipe的列表。因此,我构建了以下代码: List<Entrate>lista = modelManager.getEntrataManager().getEntrate(); List<NotaSpese>listaSpese=modelManager.getNotaSpesaManager().getNotaSpese(); List<Object> listaMovimenti = new ArrayList<Obje

我想创建一个对象类型为multipe的列表。因此,我构建了以下代码:

List<Entrate>lista = modelManager.getEntrataManager().getEntrate();
List<NotaSpese>listaSpese=modelManager.getNotaSpesaManager().getNotaSpese();

List<Object> listaMovimenti = new ArrayList<Object>();
listaMovimenti.addAll(lista);
listaMovimenti.addAll(listaSpese);
Listlista=modelManager.getentratmanager().getEntrate();
ListlistaSpese=modelManager.getnotaspesManager().getNotaSpese();
List listaMovimenti=new ArrayList();
listaMovimenti.addAll(lista);
listaMovimenti.addAll(listaSpese);
现在,我想根据Entrate和notaspase的字段数据对该集合进行排序

如何对列表进行排序?

使用自定义:

使用自定义设置:


首先,使用混合类型的集合是不可取的

但在您的情况下,应该为希望在集合中拥有的每个类型实现接口。或者,您可以创建一个在排序期间调用的,用于比较不同类型的


然后可以使用集合进行排序。排序

首先,不建议使用混合类型的集合

但在您的情况下,应该为希望在集合中拥有的每个类型实现接口。或者,您可以创建一个在排序期间调用的,用于比较不同类型的


然后您可以使用集合进行排序。排序

我个人希望
Entrate
NotaSpese
两者都可以相互比较,如果这是一般用法:

class Entrate implements Comparable<Entrate>, Comparable<NotaSpece> { 
     //Implementation with the comparers
}

class NotaSpese implements Comparable<Entrate>, Comparable<NotaSpece> { 
     //Implementation with the comparers   
}
class Entrate实现了Comparable,Comparable{
//用比较器实现
}
类NotaSpese实现可比较的、可比较的{
//用比较器实现
}
调用
Collections.sort(listaMovimenti)
将使用appropirate比较器


希望我没有错过任何东西。

我个人希望
Entrate
NotaSpese
都可以相互比较,如果这是一般用法:

class Entrate implements Comparable<Entrate>, Comparable<NotaSpece> { 
     //Implementation with the comparers
}

class NotaSpese implements Comparable<Entrate>, Comparable<NotaSpece> { 
     //Implementation with the comparers   
}
class Entrate实现了Comparable,Comparable{
//用比较器实现
}
类NotaSpese实现可比较的、可比较的{
//用比较器实现
}
调用
Collections.sort(listaMovimenti)
将使用appropirate比较器


希望我没有遗漏什么。

实现一个、和一个调用。那么,我应该为Entrata和NotaSpese类实现一个比较器吗?是的。但是你最好建立你的对象模型。让ListSee@Seelenvirtuose answer实现a、和调用是不可取的。因此,我应该为Entrata和NotaSpese类实现Comparator?是的。但是你最好建立你的对象模型。让ListSee@Seelenvirtuose回答是不明智的
class Entrate implements Comparable<Entrate>, Comparable<NotaSpece> { 
     //Implementation with the comparers
}

class NotaSpese implements Comparable<Entrate>, Comparable<NotaSpece> { 
     //Implementation with the comparers   
}