как выполнить итерацию нескольких элементов в списке arraylist с помощью interator?

#java #arrays #arraylist #iterator

Вопрос:

**когда я пытаюсь повторить несколько значений в списке ArrayList, я не смог сделать то, что могу, пожалуйста, помогите мне

вот класс клиентов**

 public class customer {
   private String CustomerName;
   private String phoneNumber;
   private String customerId;

    public customer(String customerName, String phoneNumber, String customerId) {
        this.CustomerName = customerName;
        this.phoneNumber = phoneNumber;
        this.customerId = customerId;
    }

    public String getCustomerName() {
        return CustomerName;
    }

    public String getPhoneNumber() {
        return phoneNumber;
    }

    public String getCustomerId() {
        return customerId;
    }

    public customer addCustomer(String customerName,String customerId,String phoneNumber)
    {
        return new customer(customerName, phoneNumber, customerId);
    }
}
 

вот мой основной метод

 import java.util.ArrayList;
import java.util.Iterator;
import java.util.Scanner;

public class Main {
           static Scanner scan = new Scanner(System.in);
           static ArrayList<customer> customers = new ArrayList<>();
           static customer customer = new 
         customer("dinesh","9600064079","rd_3033");
           static Iterator<customer> iterate = customers.iterator();
    public static void main(String[] args)
    {
        System.out.println(customer.getCustomerId());
        addCustomer();
        printCustomer();
    }

    public static void addCustomer(){
        System.out.println("enter the customer name : ");
        String customerName = scan.nextLine();
        System.out.println("enter the customer ID : ");
        String customerId = scan.nextLine();
        System.out.println("enter the customerNumber : ");
        String customerNumber = scan.nextLine();
        customer addCustomer = 
        customer.addCustomer(customerName,customerId,customerNumber);
        customers.add(addCustomer);
    }
    public static void printCustomer()
    {
//
        while(iterate.hasNext()){
            customer element = iterate.next();

            System.out.println(customers.indexOf(element));
        }
    }
}
 

как выполнить итерацию нескольких элементов, пока они находятся в списке массивов, что я могу сделать?

я могу сделать это с одним элементом в списке arraylist, но как повторить несколько значений в списке arraylist

Комментарии:

1. Что вы сделали до сих пор?

2. я пытаюсь взаимодействовать с элементом,хранящимся в клиенте(arraylist), если это одно значение, мы можем легко повторить его, но добавить три элемента, таких как имя пользователя, идентификатор, номер, вот почему я застрял

3. мой вопрос прост:как выполнить итерацию списка массивов,если он имеет более одного значения в каждом индексе, например, если у списка массивов есть имя цвета в индексе№: 1 красный, что делать, если у него есть другое значение в той же строке, например, индекс: 1->красный, синий

Ответ №1:

Вы добавляете элемент в список после получения итератора. Этот итератор больше недоступен. Использование этого итератора приведет к исключению ConcurrentModificationException . Вы должны получить итератор после добавления всех элементов. Ты должен измениться printCustomer() вот так.

 public static void printCustomer() {
    Iterator<customer> iterate = customers.iterator();
    while (iterate.hasNext()) {
        customer element = iterate.next();
        System.out.println(customers.indexOf(element));
    }
}