在Java中,无法直接定义无限长度的数组,因为数组的大小必须在创建时确定,并且在创建后不能动态扩展。但是,可以使用以下方法来模拟无限长度的数组行为:
1. 使用`ArrayList`:
import java.util.ArrayList;public class InfiniteArray {private ArrayListarray; public InfiniteArray() {this.array = new ArrayList<>();}public void add(int value) {array.add(value);}public int get(int index) {if (index >= array.size()) {return 0; // 占位符或默认值}return array.get(index);}}
2. 使用`StringBuilder`:
public class InfiniteStringBuilder {private StringBuilder sb;public InfiniteStringBuilder() {this.sb = new StringBuilder();}public void append(char c) {sb.append(c);}public String toString() {return sb.toString();}}
3. 使用自定义类模拟动态数组:
public class DynamicArray{ private Object[] array;private int size;public DynamicArray() {this.array = new Object; // 初始容量this.size = 0;}public void add(T obj) {if (size == array.length) {// 如果数组已满,扩展数组容量Object[] newArray = new Object[array.length * 2];System.arraycopy(array, 0, newArray, 0, array.length);array = newArray;}array[size++] = obj;}public T get(int index) {if (index >= size) {return null; // 或者抛出异常}return (T) array[index];}}
以上代码展示了如何使用`ArrayList`、`StringBuilder`以及自定义类来模拟无限长度的数组行为。您可以根据具体需求选择合适的方法

