Schwierigkeit gefunden, diesen Code gemäß java8 Lambda-Ausdruck zu ändern. Der Code entfernt Schülerobjekt, die denselben Namen haben, und fügen dieses Objekt zu einem einzelnen Eintrag hinzu.Konvertieren verschachtelte Schleifen nach Java 8 verschachtelte Schleifen
public List<Student> removeDuplicates(List<Student> studentList)
{
List<Student> newStudentList=new ArrayList<Student>();
List<String> studentNames= new ArrayList<String>();
studentList.stream().forEach(e->studentNames.add(e.getName()));
List<String> studentNameList= new ArrayList<String>();
for (Student student: studentList) {
int count=0;
for (String sname: studentNames)
{
if(student.getName().equals(sname)){
count++;
}
else{
count=0;
}
if(count==1)
{ if(!studentNameList.contains(student.getName())){
studentNameList.add(student.getName());
newStudentList.add(student);
}
}
}
}
}
tun Dieser Code sieht schrecklich aus. Vielleicht versuchen Sie zuerst, eine saubere Pre-Java 8-Lösung zu finden, bevor Sie versuchen, sie an neue Java-Funktionen anzupassen ... – Holger
, aber das funktioniert nicht ------------ studentList.stream(). ForEach (e -> { \t \t \t studentNames.stream() -Filter (f -> e.getName() gleich (f));.. \t \t}); – priya