user366262
user366262

Reputation: 11

how to repeat arrayllist data in java netbeans

I want to repeat data from arraylist in java netbenas one by one by pressing jbutton. so i want to know how repeat data from single array list following my code

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());}}

out put need to come like

AbcAbc

Upvotes: 0

Views: 130

Answers (1)

Andreas
Andreas

Reputation: 159086

Since you want iterator to start over from the beginning when it reaches the end, you need to create a new Iterator, e.g.

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
    if (! ltr.hasNext())
        ltr = numbers.listInterator();
    System.out.println(ltr.next()); // Prints next or first element
}

As an alternative, since its an ArrayList, you can use indexes to access elements, and wrap the index around using the % modulus operator, e.g.

private int listIdx;
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
    System.out.println(numbers.get(listIdx++ % numbers.size()));
}

Or use an if statement:

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
    System.out.println(numbers.get(listIdx));
    if (++listIdx == numbers.size())
        listIdx = 0;
}

Upvotes: 1

Related Questions