2016-09-27 99 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();