Как создать несколько объектов с одинаковым содержимым в ArrayList без ручного ввода? - PullRequest
0 голосов
/ 21 ноября 2018

Это мой пример кода, в моем списке пользователей 10 пользователей, и половина из них имеет одинаковое значение.Я хочу спросить, как я могу сделать так, чтобы эту половину дублированного объекта можно было генерировать без ручного ввода?

--User Class--

import java.util.ArrayList;
import java.util.List;
import java.util.ListIterator;

public class User {
     private String firstName;
     private String lastName;
     private int age;



public User(String firstName,String lastName, int age) {
    this.firstName = firstName;
    this.lastName = lastName;
    this.age = age;
}


    /**
 * @return the firstName
 */
public String getFirstName() {
    return firstName;
}
/**
 * @param firstName the firstName to set
 */
public void setFirstName(String firstName) {
    this.firstName = firstName;
}
/**
 * @return the lastName
 */
public String getLastName() {
    return lastName;
}
/**
 * @param lastName the lastName to set
 */
public void setLastName(String lastName) {
    this.lastName = lastName;
}
/**
 * @return the age
 */
public int getAge() {
    return age;
}
/**
 * @param age the age to set
 */
public void setAge(int age) {
    this.age = age;
}


}

Это основной класс.

--Main Class--

import java.util.ArrayList;
import java.util.List;

public class Main {

public static void main(String[] args) {

    List<User> users= new ArrayList<>();
    users.add(new User("James", "Lim", 24));
    users.add(new User("James", "Lim", 24));
    users.add(new User("James", "Lim", 24));
    users.add(new User("James", "Lim", 24));
    users.add(new User("James", "Lim", 24));
    users.add(new User("David", "So", 20));
    users.add(new User("Rowan", "Yeo", 21));
    users.add(new User("Joshua", "Low", 23));
    users.add(new User("Jackson", "Lim", 21));
    users.add(new User("Daniel", "Fo", 21));

     users.forEach(user -> {
            System.out.println(user.getFirstName() + "," + user.getLastName());
     });
}

Как мне сделать так, чтобы я позволил создать 1/2 дублированного пользователя из всех пользователей в списке без ввода вручную?

1 Ответ

0 голосов
/ 21 ноября 2018

Почему бы вам не использовать такой цикл for, как этот?

List<User> users= new ArrayList<>();
for (int i = 0; i < 5; i++) {
    users.add(new User("James", "Lim", 24));
}

Или вы можете использовать такой метод, чтобы добавлять пользователей, когда у вас много дубликатов,

private static void addUsers(List<User> users, int count, User user) {
    for (int i = 0; i < count; i++) {
        users.add(user);
    }
}

public static void main(String[] args) {
    List<User> users = new ArrayList<>();
    addUsers(users, 5, new User("David", "So", 20));
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...