Java 有人能举一个不使用ArrayList编写动态数组的例子吗?

Java 有人能举一个不使用ArrayList编写动态数组的例子吗?,java,arrays,core,Java,Arrays,Core,我需要在数组中动态添加元素。有人能帮我吗 int[]数据=新的int[10];如何为动态条目创建此数组 我从stackoverflow本身获得了这些代码。我想它可能会起作用 **公共类动态carrayoft { 私有int[]数据 公共图书馆 { } 公共整数获取(整数位置) { 公共作废卖出价(整数位置,整数值) { } }** /Surviv.ArayIcRead(数据,0,NeData,0,数据,长度);有人能解释这些传递参数吗? < P>可以考虑以下简单的逻辑 when

我需要在数组中动态添加元素。有人能帮我吗

int[]数据=新的int[10];如何为动态条目创建此数组

我从stackoverflow本身获得了这些代码。我想它可能会起作用

**公共类动态carrayoft

{

私有int[]数据

公共图书馆 {

}

公共整数获取(整数位置) {

公共作废卖出价(整数位置,整数值) {

} }**


/Surviv.ArayIcRead(数据,0,NeData,0,数据,长度);有人能解释这些传递参数吗?

< P>可以考虑以下简单的逻辑

        when array size is full   
        int b[]=Arrays.copyOf(data, data.length*2);

我只尝试了固定大小的数组。问题是我正处于学习阶段。如果你有动态数组的代码,请与我共享代码!@Dkkarnavar,使用ArrayList有什么问题?@Dkkarnavar逻辑很简单。如果数组已满,创建一个更大的数组并将数组内容复制到其中,然后添加新元素。你可以复制使用循环或
系统的内容。arrayCopy
。我必须同意@Masud。ArrayList正是为您这样做的。除此之外,它还具有有趣的实用功能,并且可能在后台进行了优化。除了一个学习示例外,真的没有理由手动重新创建ArrayList。
if (position >= data.length)
    return 0;
else 
    return data[position];
}
if (position >= data.length)
{
    int newSize = 2 * data.length;
    if (position >= newSize)
        newSize = 2 * position;
    int[] newData = new int[newSize];  
    System.arraycopy(data, 0, newData, 0, data.length);  
    data = newData;  
    System.out.println("Size of dynamic array increased to " + newSize);  
}
data[position] = value;
        when array size is full   
        int b[]=Arrays.copyOf(data, data.length*2);