/** * <pre>{@code assertTrue(StreamUtils.sequenceM(Stream.of(1,2,3,4)).startsWith(Arrays.asList(1,2,3).iterator())) }</pre> * @param iterator * @return True if Monad starts with Iterators sequence of data */ public final boolean startsWith(Iterator<T> iterator){ return StreamUtils.startsWith(stream,iterator); }
/** * <pre>{@code assertTrue(monad(Stream.of(1,2,3,4)).startsWith(Arrays.asList(1,2,3).iterator())) }</pre> * @param iterator * @return True if Monad starts with Iterators sequence of data */ public final boolean startsWith(Iterator<T> iterator){ return StreamUtils.startsWith(monad,iterator); }
/** * * <pre> * {@code * assertTrue(StreamUtils.sequenceM(Stream.of(1,2,3,4)).startsWith(Arrays.asList(1,2,3))); * }</pre> * * @param iterable * @return True if Monad starts with Iterable sequence of data */ public final boolean startsWith(Iterable<T> iterable){ return StreamUtils.startsWith(stream,iterable); } /**
/** * * <pre> * {@code * assertTrue(monad(Stream.of(1,2,3,4)).startsWith(Arrays.asList(1,2,3))); * }</pre> * * @param iterable * @return True if Monad starts with Iterable sequence of data */ public final boolean startsWith(Iterable<T> iterable){ return StreamUtils.startsWith(monad,iterable); } /**
/** * * <pre>{@code * assertTrue(StreamUtils.startsWith(Stream.of(1,2,3,4),Arrays.asList(1,2,3))); * }</pre> * * @param iterable * @return True if Monad starts with Iterable sequence of data */ public final static <T> boolean startsWith(Stream<T> stream,Iterable<T> iterable){ return startsWith(stream,iterable.iterator()); } /**
/** * * <pre>{@code * assertTrue(StreamUtils.startsWith(Stream.of(1,2,3,4),Arrays.asList(1,2,3))); * }</pre> * * @param iterable * @return True if Monad starts with Iterable sequence of data */ public final static <T> boolean startsWith(Stream<T> stream,Iterable<T> iterable){ return startsWith(stream,iterable.iterator()); } public final static <T> boolean endsWith(Stream<T> stream,Iterable<T> iterable){
public final static <T> boolean endsWith(Stream<T> stream,Iterable<T> iterable){ Iterator<T> it = iterable.iterator(); List<T> compare1 = new ArrayList<>(); while(it.hasNext()){ compare1.add(it.next()); } LinkedList<T> list = new LinkedList<>(); stream.forEach(v -> { list.add(v); if(list.size()>compare1.size()) list.remove(); }); return startsWith(list.stream(),compare1.iterator()); } /**