Код: Выделить всё
public class MyObj {
private String ID;
private String version;
}
MyObj obj1=new MyObj("bike","1.8");
MyObj obj2=new MyObj("bike","2.0");
MyObj obj3=new MyObj("car","3.4");
MyObj obj4=new MyObj("car","4.6");
List list = new ArrayList();
list.add(obj1);
list.add(obj2);
list.add(obj3);
list.add(obj4);
List filteredData=list.stream(). filter(s1,s2-> { if(s1.getId().equalsIgnoreCase(s2.getId()))
// I stuck here, not understanding how to compare objects in stream" //
Код: Выделить всё
List listЯ хочу отфильтровать его таким образом, чтобы он возвращал список, содержащий отдельные идентификаторы самой высокой версии.Пример: он должен возвращать список объектов. Здесь он должен вернуть obj2, obj4.
Пожалуйста, помогите.
Я пробовал использовать частные методы для фильтрации моих list, передав идентификатор и список объектов в качестве параметров. Он вернет список объектов определенного идентификатора с самой высокой версией. И, наконец, я объединяю все списки в один список.
И я планирую сделать это, если возможно, с использованием потока.
Подробнее здесь: https://stackoverflow.com/questions/770 ... ream-usage
Мобильная версия