我会尝试解释我的问题。我有一个带有几个字符串的Arraylist。我有一个输出方法:
ArrayList<String> testList = new ArrayList<String>();
testList.add("test1");
testList.add("test2");
testList.add("test3");
testList.add("test4");
public static void output(int testIndex) {
for (int i = 0; i < testList.size(); i++) {
}
System.out.println("Domain: "+ testList.get(testIndex));
}
因此,根据我需要的数据,我可以使用输出方法并输入我的值。如果我输入0作为testIndex,它将打印出&#34; test1&#34;。
我想让这个好一点。我想要做的是每当我调用我的输出方法时,我希望它打印出第一个项目。当我第二次再次调用它时,我希望它打印出第二个项目。当我第三次打电话时,我想打印出第三个项目......等等。
我该怎么做? Java可以这样做吗?我也不想从我的Arraylist中删除任何内容。
答案 0 :(得分:2)
您可以将当前位置保存在数据成员中:
private static testIndex = 0;
public static void output() {
System.out.println("Domain: "+ chunkList.get(testIndex));
++testIndex;
}
答案 1 :(得分:1)
你需要的是有一个int值,它是每次调用输出方法时递增的计数器,如:
int counter = 0;
如果您调用输出方法,则将其递增:
output(counter++);
确保检查计数器是否等于或大于你的arraylist的大小。
答案 2 :(得分:0)
使用队列而不是arraylist 语法是:
Queue queue = new LinkedList();
queue.element()
获取输出而不从列表中删除