2015-12-30 4 views
-1
List <obj> list1= new ArrayList<obj>(); 

obj a1 = new obj("value11", value21); 
obj a2 = new obj("value12", value22); 
obj a3 = new obj("value11", value23); 

list1.add(a1); 
list1.add(a2); 
list1.add(a3); 

Теперь мне нужно получить объекты в списке Array, значение whoes «value11».Поиск объекта из ArrayList

Ожидаемые объекты a1 и a3

+0

просто перебрать его и проверьте свое состояние и вернитесь. Какое препятствие? –

+0

Вы можете показать свой класс obj? –

ответ

0

использование этой линии System.out.println (песни1);

0

использования лямбда-выражение:

List<obj> result = list1.stream() 
.filter(p -> p.someProperty == "value11").collect(Collectors.toList()); 
0

Пример фильтрации в ArrayList:

List<String> items = new ArrayList<>(); 
    items.add("A"); 
    items.add("B"); 
    items.add("C"); 
    items.add("D"); 
    items.add("E"); 

items.stream() 
     .filter(s->s.contains("D")) 
     .forEach(System.out::println); 

Java ArrayList Doc

0

лямбда-выражение пользователя, как это:

List <obj> list1= new ArrayList<obj>(); 

obj a1 = new obj("value11", value21); 
obj a2 = new obj("value12", value22); 
obj a3 = new obj("value11", value23); 

list1.add(a1); 
list1.add(a2); 
list1.add(a3); 

пусть Предположим, что наш класс OBJ что-то вроде этого

public class obj 
{ 
public String item_key {get;set;} 
public String item_value {get;set;} 
} 

Тогда вы можете найти что-то вроде этого:

var i = list1.where(model=>model.item_key.equal("value11")); 

Это будет возвращать все пункт содержит „value11“

Смежные вопросы