Observable.just(numOfElementLists).map(new Function<Integer, List<Long>>() {
@Override public List<Long> apply(Integer integer) throws Exception {
arrayList.createList(Lists.ArrayList, numOfElementLists);
long addToFirstArrayList = arrayList.addFirst(integer, Lists.ArrayList);
long removeFirstArrayList = arrayList.removeFirst(integer, Lists.ArrayList);
long addToMiddleArrayList = arrayList.addToMiddle(integer);
long searchValueArrayList = arrayList.searchByValue(integer);
long removeMiddleArrayList = arrayList.removeMiddle(integer);
long addToLastArrayList = arrayList.addToLast(integer, Lists.ArrayList);
long removeLastArrayList = arrayList.removeLast(integer, Lists.ArrayList);
linkedList.createList(Lists.LinkedList, numOfElementLists);
long addToFirstLinkedList = linkedList.addFirst(integer, Lists.LinkedList);
long removeFirstLinkedList = linkedList.removeFirst(integer, Lists.LinkedList);
long addToMiddleLinkedList = linkedList.addToMiddle(integer);
long searchValueLinkedList = linkedList.searchByValue(integer);
long removeMiddleLinkedList = linkedList.removeMiddle(integer);
long addToLastLinkedList = linkedList.addToLast(integer, Lists.LinkedList);
long removeLastLinkedList = linkedList.removeLast(integer, Lists.LinkedList);
copyOnWriteArrayList.createList(Lists.CopyOnWriteArrayList, numOfElementLists);
long addToFirstCopyList = copyOnWriteArrayList.addFirst(integer, Lists.CopyOnWriteArrayList);
long removeFirstCopyList = copyOnWriteArrayList.removeFirst(integer, Lists.CopyOnWriteArrayList);
long addToMiddleCopyList = copyOnWriteArrayList.addToMiddle(integer);
long searchValueCopyList = copyOnWriteArrayList.searchByValue(integer);
long removeMiddleCopyList = copyOnWriteArrayList.removeMiddle(integer);
long addToLastCopyList = copyOnWriteArrayList.addToLast(integer, Lists.CopyOnWriteArrayList);
long removeLastCopyList = copyOnWriteArrayList.removeLast(integer, Lists.CopyOnWriteArrayList);
return Arrays.asList(addToFirstArrayList, addToFirstLinkedList, addToFirstCopyList,
addToMiddleArrayList, addToMiddleLinkedList, addToMiddleCopyList,
addToLastArrayList, addToLastLinkedList, addToLastCopyList,
removeFirstArrayList, removeFirstLinkedList, removeFirstCopyList,
removeMiddleArrayList, removeMiddleLinkedList, removeMiddleCopyList,
removeLastArrayList, removeLastLinkedList, removeLastCopyList,
searchValueArrayList, searchValueLinkedList, searchValueCopyList);
}
}).subscribeOn(
Schedulers.io()).observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<List<Long>>() {
@Override public void onSubscribe(Disposable d) {
}
@Override public void onNext(List<Long> result) {
collectionsList = result;
createGrid(collectionsList);
}
@Override public void onError(Throwable e) {
destroyProgressDialog();
Log.e(TAG, e.toString());
Toast.makeText(getActivity(), e.toString(), Toast.LENGTH_SHORT).show();
}
@Override public void onComplete() {
destroyProgressDialog();
Toast.makeText(getActivity(), getString(R.string.observer_collections_complete), Toast.LENGTH_SHORT).show();
}
});