Vavr List
:
List<String> str = List.of("A", "B", "C");
HashSet<String> res = str.foldLeft(
HashSet.empty(),
(set, s) -> set.add(s)
);
Java Stream
:
Stream<String> str = Stream.of("A", "B", "C");
HashSet<String> res = str.reduce(
HashSet.empty(),
(set, s) -> set.add(s),
(set1, set2) -> set1.addAll(set2)
);
RxJava2 Observable
:
Observable<String> str = Observable.just("A", "B", "C");
Single<HashSet<String>> res = str.reduce(
HashSet.<String>empty(),
(set, s) -> set.add(s)
);