1. 程式人生 > >Android Rxjava遍歷,過濾集合

Android Rxjava遍歷,過濾集合

在android中我們操作最多的就是遍歷集合,並將需要的元素過濾出來,下面就讓我們一起通過rxjava來完成它吧;以後麻麻再也不用擔心我遍歷集合了,一次搞定遍歷和過濾, 當然作者只是演示rxjava操作符中的一小部分;

1 新增依賴

  compile 'io.reactivex:rxjava:1.0.14'
  compile 'io.reactivex:rxandroid:1.0.1'

2 把程式碼擼成串


        List<User> list = new ArrayList<>();

        for (int i = 0; i < 10
; i++) { User user = new User(); user.id = i + ""; list.add(user); } Observable.from(list) .filter(new Func1<User, Boolean>() { @Override public Boolean call(User user) { return
user.id.equals("2"); } }) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(new Observer<User>() { @Override public void onCompleted() { System.out.println("MainActivity.onCompleted="
); } @Override public void onError(Throwable e) { System.out.println("MainActivity.onError="); } @Override public void onNext(User s) { Toast.makeText(getApplicationContext(),s.id,Toast.LENGTH_SHORT).show(); } });

如果覺得麻煩就可以吧觀察者簡寫為我們需要的:

Observable.from(list)
                .filter(new Func1<User, Boolean>() {
                    @Override
                    public Boolean call(User user) {
                        return user.id.equals("2");
                    }
                })
                .subscribeOn(Schedulers.io())
                .observeOn(AndroidSchedulers.mainThread())
                .subscribe(new Action1<User>() {
                    @Override
                    public void call(User user) {
                        System.out.println("MainActivity.call=" + user.id);
                    }
                });

說明: 這裡我們遍歷的是集合list,元素為User,只有一個欄位id, 通過filter過濾出我們需要的id為2的元素, 在call方法中輸出;

相關推薦

Android Rxjava,過濾集合

在android中我們操作最多的就是遍歷集合,並將需要的元素過濾出來,下面就讓我們一起通過rxjava來完成它吧;以後麻麻再也不用擔心我遍歷集合了,一次搞定遍歷和過濾, 當然作者只是演示rxjava操作符中的一小部分; 1 新增依賴 compile 'i

Android 最簡單的rxjava集合寫法

廢話不多說,直接上程式碼 List<User> list = new ArrayList<>(); for (int i = 0; i < 10;

Map集合的幾種方式

set password stat class ati put 獲取 map hashmap 1 import java.util.HashMap; 2 import java.util.Iterator; 3 import java.util.Map; 4 im

map集合的集中方式

程序 通過 集中 關系 () .get rgs entryset map.entry 在編寫Java程序中經常用到map集合; Map : 集合中的每一個元素包含一對鍵對象和值對象,集合中沒有重復的鍵對象,值對象可以重復。(Key - Value); 遍歷map集合的方式有

jQuery 過濾

實例 最後一個元素 div 指定 tps read w3c 允許 log 縮小搜索元素的範圍 三個最基本的過濾方法是:first(), last() 和 eq(),它們允許您基於其在一組元素中的位置來選擇一個特定的元素。 其他過濾方法,比如 filter() 和 not()

javaList集合的三種方法

ring 方式 叠代器 AR array AD 循環 class ray List<String> list = new ArrayList<String>();list.add("aaa");list.add("bbb");list.add("cc

Java中Set集合的方法

對 set 的遍歷 1.迭代遍歷: Set<String> set = new HashSet<String>(); Iterator<String> it = set.iterator(); while (it.hasNext()) {

Iterator介面,主要是用於資料集合的元素。

下面是一個遍歷元素輸出的例子: import java.awt.List;import java.util.ArrayList;import java.util.Collection;import java.util.Iterator;public class TestIterator { pub

List集合中的Map集合

首先遍歷list集合,在list集合中在遍歷map集合。 這裡使用到增強for,和Iterator迭代器迴圈map集合。 map集合:有多種遍歷方式(百度搜一下),這裡由於業務需求使用了迭代器Iterator, 直接上碼~~~ List<Map<String, Object&

map集合的keySet,entrySet,cotainsKey,put方法的Map集合及字串的split運用

有下列字串: "銷售:張三;財務:李四;銷售:王五;財務:趙六;程式:mike;程式:jerry;美工:jackson;前端:green;前端:nick;程式:錢七;銷售:a

JSP頁面通過c:forEach標籤迴圈List集合

<c:forEach>標籤有如下屬性: 屬性 描述 是否必要 預設值 items 要被迴圈的資訊 否 無 begin 開始的元素(0=第一個元素,1=第二個元素) 否 0 end 最後一個元

Map集合的2種方法(不能Map集合,都是通過Set集合

Map集合遍歷鍵找值方式 鍵找值方式:即通過元素中的鍵,獲取鍵所對應的值 操作步驟與圖解: 1.獲取Map集合中所有的鍵,由於鍵是唯一的,所以返回一個Set集合儲存所有的鍵 2.遍歷鍵的Set集合,得到每一個鍵 3.根據鍵,獲取鍵所對應的值 package

迭代器迭代元素,迭代器修改元素;集合集合元素集合修改元素解決併發修改異常

import java.util.ArrayList;import java.util.List;import java.util.ListIterator;public class TextDemo1

List集合刪除元素的出現報錯

遍歷List集合刪除元素的出現報錯   遍歷List集合刪除元素的時候會發生索引越界異常或內容遍歷不全等問題。 例子: List<String> al = new ArrayList<String>();    al.

c:forEach 標籤中map集合

java 後臺map 集合封裝 List<RoleRight> list = rrmapper.selectByROID(String.valueOf(role)); Map<String, List<Right>> map = new H

map集合的方法,值得收藏一下

import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Map.Entry; import java.util.Set;   public clas

Java學習之容器上(Collection介面常用方法,Iterator介面,使用foreach迴圈Collection集合元素,Set集合通用知識(Hashset類,hashcode()與Lin

1.容器API的類圖結構如下: JAVA的集合類是一種特別有用的工具類,它可以用於儲存數量不等的多個物件,並可以實現常用資料結構,如棧,佇列等,除此之外,JAVA集合還可用於儲存具有對映關係的關聯陣列。 JAVA的集合大致上可分為:Set,List和Map三

Android Cursor

public List<PointBean> getAllPoints() { String sql = "select * from points"; SQLiteDatabas

jQuery - 過濾

jQuery 遍歷- 過濾 縮小搜尋元素的範圍 三個最基本的過濾方法是:first(), last() 和 eq(),它們允許您基於其在一組元素中的位置來選擇一個特定的元素。 其他過濾方法,比如 filter() 和 not() 允許您選取匹配或不匹配某項指定標準的元素。 jQuer

java集合或陣列的幾種方式

以陣列為例,基本上有下面4種常見的遍歷方式: public class Test { public static void main(String[] args) { //