2017-05-02 1 views
-1

zu bekommen Ich habe eine Klasse mit zwei Mitgliedern und einer Liste von Objekten dieser Klasse. Jetzt möchte ich Liste der Mitglieder aus der Liste der Objekte extrahieren.Um Liste der Mitglieder aus der Liste der Objekte mit Streams Java

z:

class student { 
     int Id; 
     String studentName; 
} 

jetzt muss ich aus der Liste der Schüler eine Liste von student, abzurufen. Wie kann das mit java8 Streams gemacht werden?

Lösung ohne Streams mit:

List<student> studentList; 
List<String> nameList = new ArrayList<String>(); 
Iterator iterator = studentList.iterator(); 
while(iterator.hasNext()){ 
    nameList.add(iterator.next().getStudentName()); 
} 
+0

Haben Sie es zuerst versuchen, ohne 'Streams' mit? – Sajjad

+0

Bitte bearbeiten Sie Ihre Frage, um [den Code, den Sie bisher haben] (http://whathaveyoutried.com) anzuzeigen. Sie sollten mindestens einen Umriss (aber vorzugsweise einen [mcve]) des Codes angeben, mit dem Sie Probleme haben, dann können wir versuchen, bei dem spezifischen Problem zu helfen. Sie sollten auch [fragen] lesen. –

+0

ja. Indem Sie den Listen-Iterator verwenden und eine Schleife ausführen. – user3425563

Antwort

1

Sie benötigen Stream#map Methode, um so etwas zu verwenden:

List<Student> students = ...; 
List<String> names = students.stream().map(Student::getName).collect(toList()); 
+0

danke. es funktionierte – user3425563

+0

@ user3425563, denken Sie daran, eine der Antworten zu akzeptieren und nach oben abzustimmen, wenn Sie es nützlich finden. –

Verwandte Themen