Я хочу объединить два списка в один список на основе определенных критериев.
Пример списка 1 содержит
final Org ro1= new Org(1, 1001, "Name 01");
final Org ro2 = new Org (2, 1001, "Name 02");
final Org ro3 = new Org (3, 1002, "Name 03");
final Org ro4 = new Org (4, 1003, "Name 04");
final Org ro5 = new Org (5, 1004, "Name 05");
List<Org> listOrg = new ArrayList<>();
// Add all the object to the listOrg
Список 2 содержит
final Candidate can1 = new Candidate(1001, "Candidate01", "100");
final Candidate can2 = new Candidate(1002, "Candidate02", "150");
final Candidate can3 = new Candidate(1003, "Candidate03", "200");
List<Candidate > listCandidate = new ArrayList<>();
// Add all the Candidate object to the listCandidate
Мой окончательный список будет выглядеть как
List<Result > listResult = new ArrayList<>();
// Each individual object of the listResult is followed-
final Result rs1= new Result (1, 1001, "Name 01", "Candidate01", "100");
final Result rs2 = new Result (2, 1001, "Name 02", "Candidate01", "100");
final Result rs3 = new Result (3, 1002, "Name 03", "Candidate02", "150");
final Result rs4 = new Result (4, 1003, "Name 04", "Candidate03", "200");
final Result rs5 = new Result (5, 1004, "Name 05", null, null);
Я хочу добиться того же, используя функции потока Java 8. Может ли кто-нибудь помочь мне в этом?
Детали моего класса
public class Candidate {
private int canId;
private String candidateName;
private String score;
//Getter setter with constructors.
}
public class Org{
private int id;
private int canId;
private String name;
//Getter setter with constructors
}
public class Result {
private int id;
private int canId;
private String name;
private String candidateName;
private String score;
//Getter setter with constructors.
}
У класса Org есть canId, который служит точкой отображения для класса CandidateClass.