基于一个int数组在java中对多个数组进行排序

时间:2014-10-06 09:38:24

标签: java arrays sorting

事情就是这样:

我有四个不同的数组,其中包含与索引相关的实体。我的意思是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类型的EntityObjectcatIndexDB[] int进行排序。我怎么能这样做?

2 个答案:

答案 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)