Как подготовить третий список, используя два списка, используя Java 8 - PullRequest
0 голосов
/ 19 апреля 2019

У меня есть два разных списка, и с их помощью я готовлю третий список, используя потоки.

Student.java

public class Student {

    int id;
    String name;

    public Student(int id, String name) {
        super();
        this.id = id;
        this.name = name;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

}

StudentLoc.java

public class StudentLoc {

    int id;
    String loc;

    public StudentLoc(int id, String loc) {
        super();
        this.id = id;
        this.loc = loc;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getLoc() {
        return loc;
    }

    public void setLoc(String loc) {
        this.loc = loc;
    }

}

и у меня третий класс, как показано ниже.

StudentDetLoc.java

public class StudentDetLoc {

    int id;
    String name;
        String Loc;

}
  1. Мне нужно сравнить список учеников и список учеников с помощью свойства id.
  2. если идентификатор присутствует в обоих списках, тогда я должен подготовить список StudentDetLoc, используя оба списка.

1 Ответ

2 голосов
/ 19 апреля 2019

Мой подход будет следующим:

  1. Создание набора идентификаторов учеников из первого списка с использованием streams() и map()
  2. Фильтр filter() второго списка с использованием набора, полученного на шаге1
  3. Используйте forEach() в качестве завершающей операции шага 2 и добавьте к окончательному третьему списку (сохраняя только id, name и Loc).
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...