2016-09-27 98 views
0

林试图做的ArrayList以下几点:1。 从ArrayList中 2.获取名称字段获取可观测量从该列表中的每个项目 3.创建新的ArrayListrxJava项目建立

@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。有没有必要在这种情况下subscribeOnobserveOn(加subscribeOn(immediate())在功能上无操作

Observable<List<String>> numbers = Observable.from(getContactList()) 
    .map(v -> v.getNumber()) 
    .toList();