Here you can find the source of createSkipIterator(Iterable source, int count)
static <S> Iterable<S> createSkipIterator(Iterable<S> source, int count)
//package com.java2s; /******************************************************************************* * Copyright (C) 2011 Harry Blauberg// w w w .jav a 2 s. c o m * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as * published by the Free Software Foundation, either version 3 of * the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this program. If not, see <http://www.gnu.org/licenses/>. ******************************************************************************/ import java.util.Iterator; import java.util.LinkedList; import java.util.List; public class Main { static <S> Iterable<S> createSkipIterator(Iterable<S> source, int count) { List<S> list = createList(); Iterator<S> iterator = source.iterator(); try { while (count-- > 0) if (!moveNext(iterator)) break; while (iterator.hasNext()) list.add(iterator.next()); } finally { } return list; } static <R> List<R> createList() { return new LinkedList<R>(); } static <S> boolean moveNext(Iterator<S> iterator) { if (iterator.hasNext()) { iterator.next(); return true; } return false; } }