Hallo,
ich habe 2 Listen die in etwa so aufgebaut sind
List_1
obj1
->id: 5
->data1: a
->data2: b
->data3: c
...
obj3
->id: 9
->data1: d
->data2: e
->data3: f
...
obj3
->id: 3
->data1: g
->data2: h
->data3: i
...
List_2
obj1
->id:9
.....
obj2
->id:5
.....
Mein Ziel ist es, dass ich data1 aus Liste_1 auslese und in Liste_2 packe. Hierbei wird über die jeweilige ID referenziert. Ich erwarte also folgendes Ergebnis
List_2
obj1
->id:9
->data1: d
obj2
->id:5
->data1:a
Der Lösungsweg sieht aktuell in etwa so aus
Ich iteriere über List_2 und erstmiitle das Objekt über eine Funktion die in etwa so aufgebaut ist
Das funktioniert bisher auch alles wunderbar! Was ich mich jetzt allerdings frage: Ich habe vor einiger Zeit meine ersten Gehversuche mit Streams gemacht und würde gerne wissen ob sich dies evtl. auch eleganter über Streams lösen lässt. Kann dazu jemand was sagen ? Mir würde bei dieser Problemstellung leider auch ein wenig der Ansatz fehlen
LG
ich habe 2 Listen die in etwa so aufgebaut sind
List_1
obj1
->id: 5
->data1: a
->data2: b
->data3: c
...
obj3
->id: 9
->data1: d
->data2: e
->data3: f
...
obj3
->id: 3
->data1: g
->data2: h
->data3: i
...
List_2
obj1
->id:9
.....
obj2
->id:5
.....
Mein Ziel ist es, dass ich data1 aus Liste_1 auslese und in Liste_2 packe. Hierbei wird über die jeweilige ID referenziert. Ich erwarte also folgendes Ergebnis
List_2
obj1
->id:9
->data1: d
obj2
->id:5
->data1:a
Der Lösungsweg sieht aktuell in etwa so aus
Ich iteriere über List_2 und erstmiitle das Objekt über eine Funktion die in etwa so aufgebaut ist
Java:
private myClass getData1(Short id, List<myClass> list) {
boolean objGefunden = false;
int index = 0;
myClass data1 = null;
while (!objGefunden) {
if (id.equals(list.get(index).getId())) {
objGefunden = true;
data1 = list.get(index).getData1();
}
index++;
}
return data1
}
Das funktioniert bisher auch alles wunderbar! Was ich mich jetzt allerdings frage: Ich habe vor einiger Zeit meine ersten Gehversuche mit Streams gemacht und würde gerne wissen ob sich dies evtl. auch eleganter über Streams lösen lässt. Kann dazu jemand was sagen ? Mir würde bei dieser Problemstellung leider auch ein wenig der Ansatz fehlen
LG