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