Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/396.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 对存储在int数组中的多元素记录进行排序_Java_Arrays_Sorting_Int - Fatal编程技术网

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

Java 对存储在int数组中的多元素记录进行排序,java,arrays,sorting,int,Java,Arrays,Sorting,Int,我需要对抽象游戏的移动列表进行排序。移动列表是int类型的数组。每个移动都需要数组中的九个元素,其中一个是我希望排序的分数值 我看到Java有一个Java.util.Arrays.sort(int[])方法,但由于移动列表的多元素结构,我看不出这有什么用处 我不想编写冒泡排序,因为排序速度至关重要 java有任何快速排序功能可以满足我的要求吗?i、 e.用于使用一个元素作为排序值对int数组中的多元素记录进行排序?您可以执行以下操作: public class Move implements

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

我看到Java有一个Java.util.Arrays.sort(int[])方法,但由于移动列表的多元素结构,我看不出这有什么用处

我不想编写冒泡排序,因为排序速度至关重要


java有任何快速排序功能可以满足我的要求吗?i、 e.用于使用一个元素作为排序值对int数组中的多元素记录进行排序?

您可以执行以下操作:

 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;
      }
 }

您的
列表
现在将根据分数进行排序

可能的重复:为什么不创建一个名为
Move
的对象,该对象包含9
int
属性,然后让它
实现
可比
。然后你可以将你的
移动
对象放入
列表
并进行
收集。排序(
你称之为列表的任何东西
我考虑过使用对象,但被告知我会受到很大的性能影响。对于这个应用程序,排序过程必须尽可能快。我认为CollinD所指的应该是可行的。在二维数组中移动一行。性能影响将非常小,但存储的内存量大体相同。老实说,代码的可读性是>性能。如果您必须返回或其他任何人需要重构您的代码,那么这些值中的每一个值的含义都会更加清楚,而不仅仅是在数组中排列任意的
int
s。
List<Move> moves = new ArrayList<>();
//add all of your Move objects to moves list
Collections.sort(moves);