我想通过按 jbutton 来一一重复 java netbenas 中的 arraylist 中的数据。所以我想知道如何按照我的代码重复单个数组列表中的数据
public class NewJFrame extends javax.swing.JFrame {
private List<String>numbers;
private ListIterator <String>ltr;
public NewJFrame() {
initComponents();
numbers=newArraylist<>();
numbers.add("A");
numbers.add("b");
numbers.add("c");
ltr= numbers.Listinterator();
}
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
ltr.hasnext()
{
system.out.println(ltr.next());}}
输出需要像
AbcAbc
最佳答案
由于您希望迭代器在到达末尾时从头开始,因此您需要创建一个新的Iterator
,例如
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
if (! ltr.hasNext())
ltr = numbers.listInterator();
System.out.println(ltr.next()); // Prints next or first element
}
作为替代方案,由于它是 ArrayList
,因此您可以使用索引来访问元素,并使用 %
模运算符包裹索引,例如
private int listIdx;
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
System.out.println(numbers.get(listIdx++ % numbers.size()));
}
或者使用 if
语句:
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
System.out.println(numbers.get(listIdx));
if (++listIdx == numbers.size())
listIdx = 0;
}
关于java - 如何在java netbeans中重复数组列表数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47626751/