Java中固定大小的数组列表?

时间:2014-10-16 12:47:01

标签: java arrays list

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

我尝试过这些方法并且它们都给我一个语法错误:

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

我做错了什么?

2 个答案:

答案 0 :(得分: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>();

答案 1 :(得分:1)

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

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