Добавление элемента в наблюдаемый список в RxJava

Привет, я новичок в RxJava и изучаю вещи, которые я сделал в приведенном ниже примере,

ArrayListObserver.java

import rx.functions.Action1;
public class ArrayListObserver implements Action1<Object>{
    public void call(Object element) {
        System.out.println(element);
    }
}

ArrayListWithObservableDemo.java

import java.util.Arrays;
import java.util.List;
import rx.Observable;
import rx.functions.Action1;
public class ArrayListWithObservableDemo {
    List<String> list;
    Observable<String> observableList;
    public void createList(){
        list = Arrays.asList("One", "Two", "Three", "Four", "Five");
    }
    public void createObservableList(){
        observableList = Observable.from(list);
    }
    public void addObserver(Action1<Object> action1){
        observableList.subscribe(action1);
    }
    public void addtoList(String string){
        list.add(string);
    }
}

TestApp.java

public class TestApp {
    public static void main(String[] args) throws InterruptedException {
        ArrayListWithObservableDemo demo = new ArrayListWithObservableDemo();
        demo.createList();
        demo.createObservableList();
        demo.addObserver(new ArrayListObserver());
        Thread.sleep(5000);
        demo.addtoList("Six");
        Thread.sleep(3000);
    }
}

Теперь при запуске основного я получаю следующую ошибку: list.add(string);

java.lang.UnsupportedOperationException
    at java.util.AbstractList.add(Unknown Source)
    at java.util.AbstractList.add(Unknown Source)
    at org.demo.app.ArrayListWithObservableDemo.addtoList(ArrayListWithObservableDemo.java:27)
    at org.demo.app.TestApp.main(TestApp.java:11)

Является ли наблюдаемый список не может быть добавлен с новым элементом, или мне не хватает некоторых основных концепций реактивного программирования, если да, предложите мне несколько хороших ссылок/примеров, чтобы понять концепцию реактивного мышления в java

Спасибо


person Chakri    schedule 31.01.2016    source источник
comment
Хотя заголовок связанного вопроса говорит о remove (а не add), ответ тот же: Arrays.asList возвращает список фиксированного размера, поэтому вам нужно обернуть его в новый список, если вы хотите добавить элемент.   -  person Tunaki    schedule 31.01.2016
comment
Спасибо за ответ. Пожалуйста, закройте ветку   -  person Chakri    schedule 01.02.2016