Wie kann ich eine Liste von Listen in eine Liste in Java 8 umwandeln?
java arraylist (3)
Ich möchte nur ein weiteres Szenario wie List<Documents>
erklären, diese Liste enthält einige weitere Listen anderer Dokumente wie List<Excel>
, List<Word>
, List<PowerPoint>
. So ist die Struktur
Class A{
List<Documents> documentList
}
Class Documents{
List<Excel> excels
List<Word> words
List<PowerPoint> ppt
}
Nun, wenn Sie Excel nur aus Dokumenten iterieren möchten, dann tun Sie etwas wie unten ..
Also wäre der Code
List<Document> documentList = new A().getDocumentList();
//check documentList as not null
Optional<Excel> excelOptional = documentList.stream()
.map(doc -> doc.getExcel())
.flatMap(List::stream).findFirst();
if(excelOptional.isPresent()){
Excel exl = optionalExcel.get();
// now get the value what you want.
}
Ich hoffe, dass dies jemandes Problem beim Codieren lösen kann ..
https://ffff65535.com
Wenn ich eine List<List<Object>>
, wie kann ich diese in ein List<Object>
verwandeln, das alle Objekte in derselben Iterationsreihenfolge enthält, indem ich die Funktionen von Java 8 verwende?
flatmap
ist besser, aber es gibt andere Möglichkeiten, dasselbe zu erreichen
List<List<Object>> listOfList = ... // fill
List<Object> collect = listOfList.stream().collect(ArrayList::new, List::addAll, List::addAll);