2014-10-16 30 views
2

是否有可能在Java中创建数组列表(具有固定大小)?Java中固定大小的数组列表?

我曾尝试这些方法和他们俩给我一个语法错误:

List<int[]> failedParameters = new ArrayList<int[3]>(); 
List<int[]> failedParameters = new ArrayList<new int[3]>(); 

我在做什么错?

+2

不是固定大小,没有。你可以做的最好的是'新的ArrayList ' – 2014-10-16 12:48:20

+0

可能的重复[如何创建固定长度数组值的Java地图?](http://stackoverflow.com/questions/7524499/how-to-create-java-固定长度数组值映射) – Joe 2014-10-16 12:55:09

回答

5

不,您不能将数组长度指定为Java 类型。不过,你可以用你自己的类型来包装数组。我会让你决定,如果这是真的实用的(如果你有几十个数组长度中要支持):

class Int3 { 
    // Use final to indicate that the array length will remain unchanged 
    final int[] array = new int[3]; 
} 

List<Int3> failedParameters = new ArrayList<Int3>(); 

当然,如果你走了这么远,为什么不建立一个内部 - 3级元组?

class Int3 { 
    int v1; 
    int v2; 
    int v3; 
} 

List<Int3> failedParameters = new ArrayList<Int3>(); 
+0

这将适用于我的情况。谢谢! – greenfeet 2014-10-16 12:53:48

1

您可以使用此方法。它不会允许您更改集合大小(不添加()/ remove()操作)。

List<> unmodiffableList = Collections.unmodifiableList(oListeRet);