gpt4 book ai didi

java - 逐一显示Arraylist的元素

转载 作者:行者123 更新时间:2023-12-01 18:02:24 26 4
gpt4 key购买 nike

每次我单击下一个按钮时,它都应该显示数组列表的下一个元素。这不是正在发生的事情。它停留在第一个元素。

JButton btnNext = new JButton("Next");
btnNext.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
ArrayList numbers = new ArrayList();
numbers.add("A");
numbers.add("B");
numbers.add("C");
ListIterator litr = numbers.listIterator();
if (litr.hasNext()) {
System.out.print(litr.next());
}


}
});
btnNext.setBounds(71, 167, 89, 23);
contentPane.add(btnNext);

获取输出:AAA预期输出:ABC(点击 3 次)

最佳答案

对于每次点击,您都会创建一个新的 ArrayList,向其中添加 3 个元素,创建一个迭代器并通过迭代器从列表中获取第一个元素。因此你总是得到相同的输出。

为了在每次点击时获取不同的元素,您应该将 ArrayList 和迭代器保留为类的成员。

例如:

public class YourClass
{
private List<String> numbers;
private ListIterator<String> litr;

public YourClass () {
numbers = new ArrayList<>();
numbers.add("A");
numbers.add("B");
numbers.add("C");
litr = numbers.listIterator();
}

...
btnNext.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
if (litr.hasNext()) {
System.out.print(litr.next());
}
}
});
...
}

请注意,单击按钮 3 次后,它将停止生成输出,因为迭代器将到达列表的末尾。

关于java - 逐一显示Arraylist的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39870706/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com