java - 如何在java netbeans中重复数组列表数据

标签 java arrays netbeans

我想通过按 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/

相关文章:

java - 如何检测浏览器是桌面浏览器还是移动浏览器?我想使用 Java,但不想使用 WURFL

PHP多维数组通过key删除元素

java - 有没有办法让我确定哪个程序使用 Netbeans 运行最快?

java - Firestore 服务器时间 unix java

java - 用于使用 HSQLDB 设置进行测试的 TomEE 嵌入式配置

java - 如何调用不同包中类的私有(private)方法

c - 将带有数字的字符串存储为整数数组

c++ - 将 3 个独立的字节数组组合成一个字节数组

java - 在 NetBeans RCP 中移动 IDE Log 菜单项

java - 如何在Java中正确设置JSpinner的时间?