Есть ли способ скопировать определенный элемент ArrayList в другой пустой / другой ArrayList? - PullRequest
0 голосов
/ 21 июня 2019

-EDITED- Я готовлюсь к экзамену по Java, я должен создать N объект Student после прочтения информации из файла.И создать список действий с клавиатуры.Для каждого ученика я должен проверить все задания, и если я найду занятие с одинаковой фамилией ученика, я должен скопировать его в объект ученика.

This are the class that I have created.
public class Student{
**String Surname;**
int Age;
ArrayList<Activity> list;
}

 public class Activity{
 **String Surname;**
 String ActName;
 int hour;
 }

Предположим, что прочитано 2 ученика из файлов.

Студент1 Росси, 21
Студент2 Холмс, 25

и предполагая, что я участвовал в 3 занятиях

Росси Математика 10 часов
Холмс Английский 20 часов
ХолмсИстория 12 часов

Мой окончательный вывод после копирования соответствующих действий:

Студент1 Росси, 21, {Математика 10 часов}
Студент2 Холменс, 25, {Английский 20 часов, История 12 часов}

--- РЕДАКТИРОВАТЬ --- Я нашел способ обойти проблему, я прочитал проверенный файл, совпадала ли фамилия с моим объектом, если true, я добавляю объект в список, если false, продолжаю читатьфайл.Не было причин сохранять в списке и после выписки из него.В любом случае спасибо за ответ

1 Ответ

0 голосов
/ 21 июня 2019

Есть ли способ скопировать определенный элемент ArrayList в другой пустой / другой ArrayList?

  1. Вы можете найти элемент списка, выполнив итерациюсписок и тестирование каждого элемента;например,

    for (ElementType element: list) {
        if (/* some test on 'element' */) {
            ...
        }
    }
    
  2. Чтобы проверить, равны ли два строковых значения, используйте метод equals;например,

    if (str1.equals(str2)) {
        ...
    }
    
  3. Чтобы добавить элемент в список, используйте метод add;например,

    list.add(element);
    

Это не копирование объекта, но если вы прочитаете вопрос, это, вероятно, не попросит вас скопироватьобъект в список.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...