2016-09-27 2 views
0

Im пытается сделать следующее: 1. Получить Наблюдаемые из ArrayList 2. Получить имя поля из каждого элемента этого списка 3. Создать новый ArrayListrxJava создать ArrayList из пунктов

@NonNull 
@Override 
public Observable<Response<FriendsCheckResponse>> getFriendsInApp(String query) { 
    List<String> test = new ArrayList<>(); 
    Observable.from(getContactList()) 
      .map(contactItem -> { 
       test.add(contactItem.getNumber()); 
       return null; 
      }) 
      .subscribeOn(Schedulers.immediate()) 
      .observeOn(AndroidSchedulers.mainThread()); 

} 
+0

Почему вам нужен 'Observable' для этого Вы можете просто сделать это с россыпного API:.?' getContactList(). stream(). map (contactItem -> contactItem.getNumber()). collect (Collectors.toList()); '. – marstran

ответ

1

Используйте toList для собрать их в один List. Там нет необходимости для subscribeOn и observeOn в этом случае (плюс subscribeOn(immediate()) функционально не-оп

Observable<List<String>> numbers = Observable.from(getContactList()) 
    .map(v -> v.getNumber()) 
    .toList(); 
Смежные вопросы