Java中的数组列表

Che*_*het 30 java arrays list

在Java中创建数组列表的语法是什么?

我尝试过以下方法:

List<int[]> A = new List<int[]>();
Run Code Online (Sandbox Code Playgroud)

还有很多其他的事情.

我需要能够重新排序int数组,但不需要更改int数组的元素.如果这不可能,为什么?

谢谢.

gpr*_*our 58

首先,你不能做到new List();这一点是一个界面.

要创建int Arrays列表,请执行以下操作:

List<int[]> myList = new ArrayList<int[]>();
Run Code Online (Sandbox Code Playgroud)

PS根据评论,List的包是java.util.List和ArrayListjava.util.ArrayList

  • @Chet:你可能得到了错误的导入 - 你应该使用`java.util.List`,当然*是*泛型的. (8认同)
  • @Chet你需要导入java.util.List; 以及java.util.ArrayList; 运行我在这里写的代码. (4认同)
  • 编译器给我这个:类型List不是通用的; 它不能用参数<int []>参数化 (2认同)
  • 该死。好决定。我有 awt.List。到目前为止似乎有效。谢谢。 (2认同)

Woo*_*Moo 7

List<Integer[]> integerList = new ArrayList<Integer[]>();
Run Code Online (Sandbox Code Playgroud)

使用对象而不是基元,除非这是在Java 1.5之前,因为它自动处理自动装箱.

就排序而言:

Collections.sort(integerList); //Sort the entire List  
Run Code Online (Sandbox Code Playgroud)

并为每个数组(可能你想要的)

for(Integer[] currentArray : integerList)  
{  
    Arrays.sort(currentArray);  
} 
Run Code Online (Sandbox Code Playgroud)

  • 这里不需要使用`Integer []`而不是`int []`.您不能使用基本类型作为类型参数,但可以使用基本类型的*数组*. (10认同)
  • 老实说,我认为我们没有足够的信息让你做出判断. (5认同)
  • 在这个简单的例子中,我肯定会同意.在理想的世界中,函数将采用:`Collection <Number []>`然后根据需要检索值. (2认同)

Mad*_*Tom 6

List是一个接口,而不是一个类.你必须选择什么样的清单.在大多数情况下,选择ArrayList.

List a = new ArrayList();
Run Code Online (Sandbox Code Playgroud)

您已经提到要在其中存储int数组,因此可以指定列表包含的类型.

List<int[]> a = new ArrayList<int[]>();
Run Code Online (Sandbox Code Playgroud)

虽然您可以拥有"int []"的集合(例如列表),但您不能拥有"int"的集合.这是因为数组是对象,但"int"是基元.