Java 如何对具有多种类型对象的ArrayList进行排序
我想创建一个对象类型为multipe的列表。因此,我构建了以下代码: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
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
}