Java Arraylist在最后一个

Java Arraylist在最后一个,java,arraylist,nodes,Java,Arraylist,Nodes,我试图在arraylist中的最后一个值之前插入一个值。这是一般性的 public class ArrayList { private Object[] array; private int capacity; private int size; private final int InitialCap = 10; //constructor of list public ArrayList() { array = new Object[InitialCap]; capacity - Init

我试图在arraylist中的最后一个值之前插入一个值。这是一般性的

public class ArrayList
{
private Object[] array;
private int capacity;
private int size;
private final int InitialCap = 10;

//constructor of list
public ArrayList()
{
array = new Object[InitialCap];
capacity - InitialCap;
size = 0;
}
}


public static void main(String[] args)
{
int value = 5;
array.add(array.size()-2, value);
}

在此代码中没有使用ArrayList。您使用的是一个简单的数组,它们是不同的东西。但是,如果您使用的是ArrayList,则可以这样做:

list.add(list.size()-2, objectName);

另外,for循环只运行一次。我从5开始,循环运行,我降低到4,循环意识到我太低并停止循环。

这段代码有几个问题。首先,您从未定义容量,但正在尝试在构造函数中使用它。这是不可能的。若您的意思是另一个类应该这样做,那个么您需要另一个构造函数来这样做,或者至少需要一个setter方法和一个在初始化时不需要设置容量的构造函数。您还可以从静态方法调用数组,而不是静态方法。如果您解决了这些问题,您会得到如下结果:

list.add(list.size()-2, objectName);
公共类数组列表{

private static final int InitialCap = 10;
private static Object[] array = new Object[InitialCap];

public static void main(String[] args)
{
    int value = 5;
    array[InitialCap-2] = value;
    System.out.println(array);
}

}

为什么你不确定?我看到一个数组,你的
ArrayList
在哪里?我想OP正在编写他/她自己的ArrayList类
ArrayList
(你没有使用)有一个方法可以做到这一点。你正在尝试创建你自己的ArrayList吗?为什么不直接使用java.util.ArrayList呢?我理解你的意思,但是我不确定我会为方法传递什么参数。除非你输入的是参数
public void add(list.size()-2,whatgoesher?{if(index size)抛出新的IndexOutOfBoundsException(“无效索引”+索引);}
这是假设您有一个名为“list”的ArrayList。那么第一个参数是正确的,但是您必须将“objectName”替换为要插入的对象的名称。请记住,如果要添加整数,必须首先将其包装在整数包装类中抱歉,我不知道注释为什么没有保存空格。如果我试图在arraylist中的最后一个值之前插入一个Int值,我可以使用arraylist中内置的方法,则可以使用public void add(list.size()-2,Int-value)。您正在创建一个新方法。