default LazySeq<E> lazySeq(E e){ return stream(e) .to().lazySeq(); } }
default Seq<T> seq(){ return to().seq(); } default HashSet<T> toHashSet(){
@Test public void lazyString(){ assertThat(of(1,2).lazyString().toString(),equalTo(of(1,2).stream().join(", "))); } @Test
@Test public void presentConvert(){ assertTrue(of(1).option().isPresent()); assertTrue(of(1).seq().size()>0); assertTrue(of(1).lazySeq().size()>0); assertTrue(of(1).bankersQueue().size()>0); assertTrue(of(1).vector().size()>0); assertTrue(of(1).hashSet().size()>0); assertTrue(of(1).treeSet(Comparator.naturalOrder()).size()>0); assertTrue(of(1).bag().size()>0); assertTrue(of(1).hashMap(t->t, t->t).size()>0); }
@Override @SuppressWarnings({ "unchecked", "rawtypes" }) public Tuple2<Option<T>, ReactiveSeq<T>> splitAtHead() { final Tuple2<ReactiveSeq<T>, ReactiveSeq<T>> Tuple2 = splitAt(1); return Tuple.tuple( Tuple2._1().to().option() .flatMap(l -> l.size() > 0 ? l.get(0) : Option.none()), Tuple2._2()); }
public <K,V> HashMap<K,V> hashMap(Function<? super T, ? extends K> keyMapper, Function<? super T, ? extends V> valueMapper){ return HashMap.fromStream(stream().map(t-> Tuple.tuple(keyMapper.apply(t),valueMapper.apply(t)))); } public TreeSet<T> treeSet(Comparator<T> comp){
public Option<LazySeq<T>> option() { Iterator<T> it = iterator(); return it.hasNext() ? Option.<LazySeq<T>>some(LazySeq.fromIterator(it)) : Option.<LazySeq<T>>none(); }
default ConvertableSequence<T> to(){ return new ConvertableSequence<>(this); }
@Test public void testIterable() { List<Integer> list = of(1, 2, 3).to().collection(LinkedList::new); for (Integer i :of(1, 2, 3)) { assertThat(list,hasItem(i)); } }
@Test public void emptyConvert(){ assertFalse(empty().option().isPresent()); assertFalse(empty().seq().size()>0); assertFalse(empty().lazySeq().size()>0); assertFalse(empty().vector().size()>0); assertFalse(empty().bankersQueue().size()>0); assertFalse(empty().hashSet().size()>0); assertFalse(empty().treeSet((Comparator)Comparator.naturalOrder()).size()>0); assertFalse(empty().hashMap(t->t,t->t).size()>0); } @Test
@Override @SuppressWarnings({"unchecked", "rawtypes"}) public Tuple2<Option<T>, ReactiveSeq<T>> splitAtHead() { final Tuple2<ReactiveSeq<T>, ReactiveSeq<T>> Tuple2 = splitAt(1); return Tuple.tuple( Tuple2._1().to().option() .flatMap(l -> { return l.size() > 0 ? l.get(0) : Option.none(); }), Tuple2._2()); }
public <K,V> HashMap<K,V> hashMap(Function<? super T, ? extends K> keyMapper, Function<? super T, ? extends V> valueMapper){ return HashMap.fromStream(stream().map(t-> Tuple.tuple(keyMapper.apply(t),valueMapper.apply(t)))); } public TreeSet<T> treeSet(Comparator<T> comp){
public Maybe<LazySeq<T>> lazyMaybe() { return Maybe.fromEval(Eval.later(()->{ Iterator<T> it = iterator(); return it.hasNext() ? Maybe.just(LazySeq.fromIterator(it)) : Maybe.<LazySeq<T>>nothing(); } )).flatMap(i->i); } public Option<LazySeq<T>> option() {
public ConvertableSequence<T> to(){ return new ConvertableSequence(this); }
@Test public void testIterable() { List<Integer> list = of(1, 2, 3).to().collection(LinkedList::new); for (Integer i :of(1, 2, 3)) { assertThat(list,hasItem(i)); } }
@Test public void presentConvert(){ assertTrue(of(1).to().option().isPresent()); assertTrue(of(1).toList().size()>0); assertTrue(of(1).to().seq().size()>0); assertTrue(of(1).to().lazySeq().size()>0); assertTrue(of(1).to().bankersQueue().size()>0); assertTrue(of(1).to().vector().size()>0); assertTrue(of(1).to().hashSet().size()>0); assertTrue(of(1).toSet().size()>0); assertTrue(of(1).to().treeSet(Comparator.naturalOrder()).size()>0); assertTrue(of(1).to().bag().size()>0); assertTrue(of(1).to().hashMap(t->t, t->t).size()>0); assertTrue(of(1).toSet().size()>0); assertTrue(of(1).toList().size()>0); }
@Test public void optionalConvert() { for (int i = 0; i < 10; i++) { assertThat(of(1, 2, 3).to().option(), equalTo(Option.of(LazySeq.of(1, 2, 3)))); } } @Test
public LazyString lazyString(){ LazySeq<Character> x = lazySeq().flatMap(i -> LazyString.of(i.toString() + ", ")); return LazyString.fromLazySeq(x).dropRight(2); }
default Seq<E> seq(E e){ return stream(e) .to().seq(); } default LazySeq<E> lazySeq(E e){