是否可以在方法中创建和使用 ArrayList
?我想在 public int min()
方法中创建一个临时堆栈来跟踪最小值。但是,编译器提示 ArrayList add()
方法:Cannot resolve method 'add(int)'
我想那是因为我试图在同一个创建 ArrayList
的方法?
import java.util.*;
public class MinStack {
private ArrayList<Integer> data;
public MinStack() {
data = new ArrayList<Integer>();
}
public void push( int a ) {
data.add( a );
}
public int pop() {
if ( data.size() <= 0 ) {
throw new IllegalStateException();
}
return data.remove( data.size() - 1 );
}
public int size() {
return data.size();
}
public int min() {
MinStack smalls = new MinStack();
int elMin = (data.get((data.size() - 1)));
smalls.add(elMin);
while (!data.isEmpty()) {
if (data.get(data.size() - 1) < elMin)
elMin = data.get(data.size() - 1);
}
return elMin;
}
最佳答案
您不是在 Arraylist
的实例上调用 add
方法,而是在 MinStack
类对象的实例上调用它没有 add
方法。
您应该调用 push
方法,因为它在您的类中定义,它将调用 arraylist 的 add
方法。或者在 MinStack
类中使用名称 add
方法
关于java - 从单个方法中创建和使用 ArrayList?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52069443/