对存储在int数组中的多元素记录进行排序

时间:2017-01-10 17:48:20

标签: java arrays sorting int

我需要为抽象游戏排序一个移动列表。移动列表是int类型的数组。每次移动都需要数组中的九个元素,其中一个元素是我希望排序的分数值。

我看到Java有一个java.util.Arrays.sort(int [])方法,但由于移动列表有多个元素结构,我看不出它是如何有用的。

我不想写冒泡排序因为排序速度很关键。

java是否有任何可以满足我目的的快速排序功能?即用于使用一个元素作为排序值对int数组中的多元素记录进行排序?

1 个答案:

答案 0 :(得分:0)

你可以这样做:

 public class Move implements Comparable{


      private int score,prop1,prop2;//...

      public int compareTo(Move move) {
          return this.score>move.score?1:this.score<move.score?-1:0;
      }
 }

实施Comparable将允许您对CollectionMove个对象进行排序,如下所示:

List<Move> moves = new ArrayList<>();
//add all of your Move objects to moves list
Collections.sort(moves);

现在,您的List将根据得分进行排序