事情就是这样:
我有四个不同的数组,其中包含与索引相关的实体。我的意思是array1[i]
与array2[i]
,array3[i]
和array4[i]
相关。我想基于array4[]
int
类型对这些数组进行排序。所以我实现了一个Entity类:
public class EntityObject implements Comparable<EntityObject> {
String value;
String date;
String cat;
int index;
EntityObject(String value, String date, String cat, int index){
this.cat = cat;
this.date = date;
this.value = value;
this.index = index;
}
在我的主要课程中,我有:
EntityObject[] array = new EntityObject[entry];
for(int i = 0; i < entry; i ++){
array[i] = new EntityObject(valueDB[i], dateDB[i], catDB[i], catIndexDB[i]);
}
现在,我想根据array
类型的EntityObject
对catIndexDB[]
int
进行排序。我怎么能这样做?
答案 0 :(得分:0)
通过从Comparable接口实现compareTo(EntityObject o)
来完成。记录在这里:http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html
然后调用Arrays.sort(yourArray)
对EnityObjects数组进行排序
答案 1 :(得分:0)
如果添加getIndex方法
public int getIndex(){
return index;
}
在您的类EntryObject中,您可以通过比较
对要使用的任何排序算法对数组进行排序array[i].getIndex();
否则,您可以使EntryObject可比较并使用Arrays.sort(array)