toSortList 类似于toList ,不同的 他能实现 对 列表进行排序 , 默认是自然升序, 数据项必须是实现Comparable接口的,
否则会报异常; 默认 integer和String 都是实现了的;
toSortedList默认不在任何特定的调度器上执行。
这里还可以 指定 initialCapacity 来指定 当前list 的容量 ,默认 集合容量为 10 ,不够用会自动扩充 , 有开销 ,默认给他集合的容量,
会性能好点, 之后再次添加也没有影响;
List<Integer> capacityList=new ArrayList<Integer>(11);
capacityList.add(5);
capacityList.add(2);
capacityList.add(7);
capacityList.add(3);
Observable.from(capacityList)
.toSortedList(new Func2<Integer, Integer, Integer>() {
@Override
public Integer call(Integer integer, Integer integer2) {
return integer2.compareTo(integer);
}
},capacityList.size())
.subscribe(new Subscriber<List<Integer>>() {
@Override
public void onCompleted() {
System.out.println("onCompleted.");
}
@Override
public void onError(Throwable e) {
System.out.println("onError: " + e.getMessage());
}
@Override
public void onNext(List<Integer> integers) {
System.out.println("onNext: " + integers);
}
});
结果 : onNext: [7, 5, 3, 2]
更多
- toSortedList()
- toSortedList(Func2)
- toSortedList(Func2,int initialCapacity)