我有一个数组列表
ArrayList itemListWithRank = ItemListDAO.getItemList();
并且在arraylist中itemListWithRank
有很多类型的对象值,这些值都是不同的。其中一个值是也与该数组列表一起设置的项目等级。
现在,我想根据排名的顺序对数组列表进行排序。排名值已在此数组列表中设置。
我如何排序其中一个具有很多类型的值…的数组列表?
谢谢大家。
使它们都是一种类型的对象。设计一个通用的基类或一个Interface
然后
用于Comparator
整理它们
例如。
public class SortableFields{
protected long rank;
//accessors methods
}
假设arraylist中的所有对象现在都是SortableFields
现在
Collections.sort(list,new Comparator(){
public int compareTo(Object ob1,Object ob){
return ((SortableFild)ob1.getRank())-((SortableFild)ob2.getRank())
}
});
或使用反射技巧, 不可取
Collections.sort(list,new Comparator(){
public int compareTo(Object ob1,Object ob){
UtilClass.getRank(ob1)-UtilClass.getRank(ob);
}
});
在您的UtilClass中
public int getRank(Object ob){
Class cl=ob1.getClass();
Method mthd=cl.getMethod("getRank");
Integer output=(Integer)mthd1.invoke(ob);
return output;
}
我有一个ArrayList of String。 在每个索引上的外部ArrayList中,每个内部ArrayList有四个项目,有四个参数。 联系人ID 联系人姓名 联系地址 联系号码 现在,我想根据Contact Name参数对的完整ArrayList进行排序。 意味着我要访问外部Arraylist,外部Arraylist的每个索引上存在的内部Arraylist应该根据联系人名称进行排序。 比较
比如说,我在(公共类class1(String args[]))中创建了一个arraylist 这是一个函数,例如: 我将它传递到一个函数中,希望它只对list进行排序,而不对list1进行排序,但是list1也进行了排序,我不明白为什么会这样。因此,请向我解释为什么会这样,以及有什么解决这个错误的方法?
问题内容: 仅对ArrayList的一部分进行排序的 最有效 方法是什么?说一个包含10个元素的Arraylist中从索引0到3的所有元素。 Java中有可用的库函数吗? 除了排序整个列表! 编写高度优化的自定义排序功能将需要一些工作。 问题答案: 在文档中对此进行了描述: 公共列表subList(int fromIndex,int toIndex) 返回此列表中指定的fromIndex(包括)和
我想用java对数字数组列表进行排序,所以基本上如果我有以下数组列表: 输出应为: arraylist应该根据第一个键然后第二个键进行排序。