在Java中,由于数组的大小必须在创建时确定,并且不能动态扩展,因此不能直接创建无限长度的数组。但是,可以使用`ArrayList`或`LinkedList`等集合类来模拟无限长度的数组行为。以下是使用`ArrayList`来存储无限个数组的方法:
```java
import java.util.ArrayList;
public class InfiniteArray {
private ArrayList
public InfiniteArray() {
this.arrayList = new ArrayList<>();
}
public void addArray(int[] array) {
arrayList.add(array);
}
public int[] getArray(int index) {
if (index >= arrayList.size()) {
return new int; // 返回空数组作为占位符
}
return arrayList.get(index);
}
public static void main(String[] args) {
InfiniteArray infiniteArray = new InfiniteArray();
infiniteArray.addArray(new int[]{1, 2, 3});
infiniteArray.addArray(new int[]{4, 5, 6});
int[] arrayAtIndex2 = infiniteArray.getArray(2);
for (int value : arrayAtIndex2) {
System.out.print(value + " ");
}
}
}
在上面的代码中,`InfiniteArray`类使用`ArrayList`来存储`int[]`类型的数组。`addArray`方法允许你添加新的数组,而`getArray`方法允许你访问特定索引处的数组。如果请求的索引超出了列表的大小,`getArray`方法将返回一个空数组作为占位符。
请注意,虽然这种方式可以模拟无限长度的数组,但实际上它仍然受到可用内存的限制。如果你需要处理的数据量非常大,可能需要考虑其他的存储方案,例如数据库。