Использование потока Java 8JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Использование потока Java 8

Сообщение Anonymous »

Можно ли фильтровать список объектов с помощью потока.

Код: Выделить всё

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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»