gpt4 book ai didi

java - 在事件处理程序期间如何迭代 ArrayList?

转载 作者:行者123 更新时间:2023-11-30 03:28:08 25 4
gpt4 key购买 nike

假设您有一个按钮。在这个按钮中,您有一个名为 one 的 ArrayList 对象,应该对其进行迭代,以便在单击按钮后显示所有值。我的初步尝试:

btnFrw.setOnAction(e ->{           
Iterator<String> iterator = one.iterator();
while(iterator.hasNext()){
StringTokenizer st =
new StringTokenizer(iterator.next(),",");
txtID.setText(st.nextToken());
txtG.setText(st.nextToken());
txtBP.setText(st.nextToken());
txtD.setText(st.nextToken());
txtSP.setText(st.nextToken());
txtCons.setText(st.nextToken());
}

});

但是当然这并不那么容易,第一次单击时它会遍历所有字符串直到最后。如何正确地遍历列表?

最佳答案

在点击事件之外创建迭代器:

 Iterator<String> iterator = one.iterator();

然后只需修改您的点击事件以使用 if 而不是 while 来实现 hasNext():

btnFrw.setOnAction(e ->{           
//Iterator<String> iterator = one.iterator();
//while(iterator.hasNext()){ //use if instead of while
if(iterator.hasNext()){
StringTokenizer st =
new StringTokenizer(iterator.next(),",");
txtID.setText(st.nextToken());
txtG.setText(st.nextToken());
txtBP.setText(st.nextToken());
txtD.setText(st.nextToken());
txtSP.setText(st.nextToken());
txtCons.setText(st.nextToken());
}

});

关于java - 在事件处理程序期间如何迭代 ArrayList?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29689787/

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