大小未知时的java 2d数组

大小未知时的java 2d数组,java,arrays,arraylist,Java,Arrays,Arraylist,我需要创建和排序一个对象数组,问题是这些对象不能自己排序。相反,它们是基于整数值排序的。所以我考虑使用2d数组 Object[][] array = new Object[][] 这样我就可以在数组中存储 [integer to order the objects][object] 但问题是我不知道有多少对象需要排序,所以,我需要使用Arraylist来代替吗 无论哪种方式,是否可以使用collection.sort命令,以及如何才能使数组按所述方式运行 谢谢您需要忘记原始数组,开始考虑

我需要创建和排序一个对象数组,问题是这些对象不能自己排序。相反,它们是基于整数值排序的。所以我考虑使用2d数组

 Object[][] array = new Object[][]
这样我就可以在数组中存储

 [integer to order the objects][object]
但问题是我不知道有多少对象需要排序,所以,我需要使用Arraylist来代替吗

无论哪种方式,是否可以使用collection.sort命令,以及如何才能使数组按所述方式运行


谢谢

您需要忘记原始数组,开始考虑Java集合框架

使用
树形图进行排序。将所有对象放入
后,可以使用
values()
以正确的顺序获取对象


使用map还消除了大小确定的所有问题。

使用
ArrayList
Comparator接口对其进行排序

此外,TreeMap是一个排序映射,它将根据整型值对对象进行排序,因为您提到它们是值的键

TreeMap<Integer, Object>

Integer - Key

Object  - Value
TreeMap
整数键
对象值

您不需要像处理数组一样初始化集合。。。。因此,这是另一个需要注意的问题……

Doh-比我现在删除的答案好得多:)实际上有一些问题,澄清一下,整数是我输入的一个值,它并不总是唯一的,是否仍然可以使用该值对树进行排序?不,在这种情况下,您的情况会更加复杂,实际上@JonSkeet的答案可能是最简单的方法。乔恩,如果你正在读这篇文章,现在我应该删除我的答案,而你应该取消删除你的!实际上刚刚解决了这个问题,看起来有些for循环中的定位可能已经覆盖了顺序。将它移出循环就解决了它…太高兴了:)