Deepika R:
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
import java.util.Optional;
public class GetMiles {
public static void main(String args[]) {
List<Student> studentList = new ArrayList<>();
Student s = new Student();
s.setFee("12000");
studentList.add(s);
Student s1 = new Student();
s1.setFee("3000");
studentList.add(s1);
Optional<Student> optionalStudent =
studentList.stream().min(Comparator.comparing(Student::getFee));
if (optionalStudent.isPresent()) {
System.out.println(optionalStudent.get().getFee());
}
}
static class Student {
private String fee;
public String getFee() {
return this.fee;
}
public void setFee(String fee) {
this.fee = fee;
}
}
}
en el ejemplo anterior debe devolver 3000 pero volviendo 12000 si nos dará 2000 y 3000 se volverá 2000 también en la mayor parte del escenario de su funcionamiento muy bien, pero no para todos.
Imran.Khan:
mapa de análisis de int en su lista y luego MIN de la cuota, como a continuación ejemplo de código:
Optional<Integer> optionalVal = studentList.stream().map(l ->
Integer.parseInt(l.getFee())).min(Comparator.comparingInt(k -> k));
if(optionalVal.isPresent()) {
String minFee = String.valueOf(optionalVal.get());
Optional<Student> studentObj = studentList.stream().filter(p ->
minFee.equals(p.getFee())).findFirst();
}