Categories:
Audio (13)
Biotech (29)
Bytecode (36)
Database (77)
Framework (7)
Game (7)
General (507)
Graphics (53)
I/O (35)
IDE (2)
JAR Tools (101)
JavaBeans (21)
JDBC (121)
JDK (426)
JSP (20)
Logging (108)
Mail (58)
Messaging (8)
Network (84)
PDF (97)
Report (7)
Scripting (84)
Security (32)
Server (121)
Servlet (26)
SOAP (24)
Testing (54)
Web (15)
XML (309)
Collections:
Other Resources:
commons-collections4-4.2-sources.jar - Apache Commons Collections
commons-collections4-4.2-sources.jar is the source JAR file for Apache Commons Collections 4.2, which provides additional collection handling functionalities on top of JDK library.
JAR File Size and Download Location:
JAR name: commons-collections4-4.2-sources.jar Target JDK version: 1.7 Dependency: None File size: 708,599 bytes Release date: 08-Jul-2018 Download: Apache Commons Collections
✍: FYIcenter.com
⏎ org/apache/commons/collections4/iterators/IteratorIterable.java
/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with this * work for additional information regarding copyright ownership. The ASF * licenses this file to You under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law * or agreed to in writing, software distributed under the License is * distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the specific language * governing permissions and limitations under the License. */ package org.apache.commons.collections4.iterators; import java.util.Iterator; import org.apache.commons.collections4.ResettableIterator; /** * Adapter to make an {@link Iterator Iterator} instance appear to be an * {@link Iterable Iterable} instance. The iterable can be constructed in one * of two variants: single use, multiple use. * * <p> * In the single use iterable case, the iterable is only usable for one * iterative operation over the source iterator. Subsequent iterative * operations use the same, exhausted source iterator. To create a single use * iterable, construct a new {@link IteratorIterable} using a {@link Iterator} * that is NOT a {@link ResettableIterator} iterator: * </p> * * <pre> * Iterator<Integer> iterator = // some non-resettable iterator * Iterable<Integer> iterable = new IteratorIterable<Integer>(iterator); * </pre> * * <p> * In the multiple use iterable case, the iterable is usable for any number of * iterative operations over the source iterator. Of special note, even though * the iterable supports multiple iterations, it does not support concurrent * iterations. To implicitly create a multiple use iterable, construct a new * {@link IteratorIterable} using a {@link ResettableIterator} iterator: * </p> * * <pre> * Integer[] array = {Integer.valueOf(1),Integer.valueOf(2),Integer.valueOf(3)}; * Iterator<Integer> iterator = IteratorUtils.arrayIterator(array); // a resettable iterator * Iterable<Integer> iterable = new IteratorIterable<Integer>(iterator); * </pre> * * <p> * A multiple use iterable can also be explicitly constructed using any * {@link Iterator} and specifying <code>true</code> for the * <code>multipleUse</code> flag: * </p> * * <pre> * Iterator<Integer> iterator = // some non-resettable iterator * Iterable<Integer> iterable = new IteratorIterable<Integer>(iterator, true); * </pre> * * @since 4.0 */ public class IteratorIterable<E> implements Iterable<E> { /** * Factory method to create an {@link Iterator Iterator} from another * iterator over objects of a different subtype. */ private static <E> Iterator<E> createTypesafeIterator(final Iterator<? extends E> iterator) { return new Iterator<E>() { @Override public boolean hasNext() { return iterator.hasNext(); } @Override public E next() { return iterator.next(); } @Override public void remove() { iterator.remove(); } }; } /** the iterator being adapted into an iterable. */ private final Iterator<? extends E> iterator; /** the iterator parameterized as the {@link #iterator()} return type. */ private final Iterator<E> typeSafeIterator; /** * Constructs a new <code>IteratorIterable</code> that will use the given * iterator. * * @param iterator the iterator to use. */ public IteratorIterable(final Iterator<? extends E> iterator) { this(iterator, false); } /** * Constructs a new <code>IteratorIterable</code> that will use the given * iterator. * * @param iterator the iterator to use. * @param multipleUse <code>true</code> if the new iterable can be used in multiple iterations */ public IteratorIterable(final Iterator<? extends E> iterator, final boolean multipleUse) { super(); if (multipleUse && !(iterator instanceof ResettableIterator)) { this.iterator = new ListIteratorWrapper<>(iterator); } else { this.iterator = iterator; } this.typeSafeIterator = createTypesafeIterator(this.iterator); } /** * Gets the iterator wrapped by this iterable. * * @return the iterator */ @Override public Iterator<E> iterator() { if (iterator instanceof ResettableIterator) { ((ResettableIterator<? extends E>)iterator).reset(); } return typeSafeIterator; } }
⏎ org/apache/commons/collections4/iterators/IteratorIterable.java
Or download all of them as a single archive file:
File name: commons-collections4-4.2-sources.jar File size: 708599 bytes Release date: 2018-07-08 Download
⇒ Download and Install commons-collections4-4.1-bin.zip
⇐ What Is commons-collections4-4.2.jar
2023-03-28, 20004👍, 0💬
Popular Posts:
Jackson is "the Java JSON library" or "the best JSON parser for Java". Or simply as "JSON for Java"....
JRE 8 rt.jar is the JAR file for JRE 8 RT (Runtime) libraries. JRE (Java Runtime) 8 is the runtime e...
How to download and install JDK (Java Development Kit) 1.3? If you want to write Java applications, ...
The Java Naming and Directory Interface (JNDI) is part of the Java platform, providing applications ...
What Is js.jar in Rhino JavaScript 1.7R5? js.jar in Rhino JavaScript 1.7R5 is the JAR file for Rhino...