问题是我有一个我需要阅读的文本文件,其中包含字符,我需要在类内部将其构建为2D数组。但是,因为当我初始化时,我还必须指定像这样的值:
int[] array;
array = new int[] {2, 7, 9};
由于在读取文件之前我不知道数组的大小,我可以创建一个作为成员,但只能作为本地成员。在此,我使用arrayLists,这是不可取的。我错过了什么吗?
感谢。
答案 0 :(得分:2)
ArrayList是这个问题的最佳选择,因为ArrayList
的大小是可变的,这意味着无论数据大小如何,它总是会改变它的大小以匹配它包含的元素数量。
Here's有关创建和使用2D ArrayLists的更多细节。
希望这有帮助。
答案 1 :(得分:1)
Stack Class:
public class Stack {
private ArrayList _arrayList = new ArrayList();
public void Push(object obj) {
if (obj is null) {
throw new InvalidOperationException();
}
else {
_arrayList.Add(obj);
}
}
public object Pop() {
if (_arrayList is null) {
throw new InvalidOperationException();
}
else {
var top = _arrayList.Count;
_arrayList.Remove(top);
return top;
}
}
public void Clear() {
for (int i = 0; i < _arrayList.Count; i++) {
_arrayList.Remove(i);
}
}
}
在Java 9之前的OR:
class Program {
static void Main(string[] args) {
var stack = new Stack();
stack.Push(5);
stack.Push(1);
stack.Push(2);
stack.Push(4);
stack.Push(3);
Console.WriteLine(stack.Pop());
Console.WriteLine(stack.Pop());
Console.WriteLine(stack.Pop());
Console.WriteLine(stack.Pop());
Console.WriteLine(stack.Pop());
}
}
在Java 9中的OR:
List<Integer> array = new ArrayList<>();
array.add(2);
array.add(7);
array.add(9);