java.util.Iterator类的使用及代码示例

x33g5p2x  于2022-01-16 转载在 其他  
字(4.4k)|赞(0)|评价(0)|浏览(171)

本文整理了Java中java.util.Iterator类的一些代码示例,展示了Iterator类的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Iterator类的具体详情如下:
包路径:java.util.Iterator
类名称:Iterator

Iterator介绍

[英]An iterator over a sequence of objects, such as a collection.

If a collection has been changed since the iterator was created, methods next and hasNext() may throw a ConcurrentModificationException. It is not possible to guarantee that this mechanism works in all cases of unsynchronized concurrent modification. It should only be used for debugging purposes. Iterators with this behavior are called fail-fast iterators.

Implementing Iterable and returning an Iterator allows your class to be used as a collection with the enhanced for loop.
[中]

代码示例

代码示例来源:origin: google/guava

  1. @Override
  2. public T next() {
  3. if (!iterator.hasNext()) {
  4. iterator = iterable.iterator();
  5. }
  6. return iterator.next();
  7. }

代码示例来源:origin: google/guava

  1. /** Clears the iterator using its remove method. */
  2. static void clear(Iterator<?> iterator) {
  3. checkNotNull(iterator);
  4. while (iterator.hasNext()) {
  5. iterator.next();
  6. iterator.remove();
  7. }
  8. }

代码示例来源:origin: google/guava

  1. @Override
  2. public T next() {
  3. T next = iterator.next();
  4. iterator.remove();
  5. return next;
  6. }

代码示例来源:origin: iluwatar/java-design-patterns

  1. /**
  2. * Checkout object from pool
  3. */
  4. public synchronized T checkOut() {
  5. if (available.isEmpty()) {
  6. available.add(create());
  7. }
  8. T instance = available.iterator().next();
  9. available.remove(instance);
  10. inUse.add(instance);
  11. return instance;
  12. }

代码示例来源:origin: ReactiveX/RxJava

  1. @Override
  2. public boolean hasNext() {
  3. return sit.hasNext();
  4. }

代码示例来源:origin: google/guava

  1. public void testCycleRemoveWithoutNext() {
  2. Iterator<String> cycle = Iterators.cycle("a", "b");
  3. assertTrue(cycle.hasNext());
  4. try {
  5. cycle.remove();
  6. fail("no exception thrown");
  7. } catch (IllegalStateException expected) {
  8. }
  9. }

代码示例来源:origin: google/guava

  1. @Override
  2. public Object execute(Iterator<?> iterator) {
  3. iterator.remove();
  4. return null;
  5. }
  6. };

代码示例来源:origin: google/guava

  1. @CollectionFeature.Require(SUPPORTS_ITERATOR_REMOVE)
  2. @CollectionSize.Require(ONE)
  3. public void testValuesIteratorRemove() {
  4. Iterator<V> valuesItr = multimap().values().iterator();
  5. valuesItr.next();
  6. valuesItr.remove();
  7. assertTrue(multimap().isEmpty());
  8. }
  9. }

代码示例来源:origin: ReactiveX/RxJava

  1. @Override
  2. public Integer apply(Integer v) throws Exception {
  3. Observable.just(1).delay(10, TimeUnit.SECONDS).blockingIterable().iterator().next();
  4. return v;
  5. }
  6. })

代码示例来源:origin: ReactiveX/RxJava

  1. @Override
  2. public final boolean isEmpty() {
  3. return it == null || !it.hasNext();
  4. }

代码示例来源:origin: google/guava

  1. @Override
  2. public final void remove() {
  3. backingIterator.remove();
  4. }
  5. }

代码示例来源:origin: google/guava

  1. @Override
  2. public boolean tryAdvance(Consumer<? super R> action) {
  3. if (itrA.hasNext() && itrB.hasNext()) {
  4. action.accept(function.apply(itrA.next(), itrB.next()));
  5. return true;
  6. }
  7. return false;
  8. }
  9. },

代码示例来源:origin: stackoverflow.com

  1. public static void printMap(Map mp) {
  2. Iterator it = mp.entrySet().iterator();
  3. while (it.hasNext()) {
  4. Map.Entry pair = (Map.Entry)it.next();
  5. System.out.println(pair.getKey() + " = " + pair.getValue());
  6. it.remove(); // avoids a ConcurrentModificationException
  7. }
  8. }

代码示例来源:origin: google/guava

  1. private void assertIteratorIsUnmodifiable(Iterator<?> iterator) {
  2. iterator.next();
  3. try {
  4. iterator.remove();
  5. fail();
  6. } catch (UnsupportedOperationException expected) {
  7. }
  8. }

代码示例来源:origin: ReactiveX/RxJava

  1. @Test
  2. public void interrupt() {
  3. Iterator<Object> it = Observable.never().blockingNext().iterator();
  4. try {
  5. Thread.currentThread().interrupt();
  6. it.next();
  7. } catch (RuntimeException ex) {
  8. assertTrue(ex.toString(), ex.getCause() instanceof InterruptedException);
  9. }
  10. }

代码示例来源:origin: ReactiveX/RxJava

  1. @Override
  2. public Integer apply(Integer v) throws Exception {
  3. Observable.just(1).delay(10, TimeUnit.SECONDS).blockingLatest().iterator().hasNext();
  4. return v;
  5. }
  6. })

代码示例来源:origin: square/okhttp

  1. @Override public void remove() {
  2. if (!canRemove) throw new IllegalStateException("remove() before next()");
  3. delegate.remove();
  4. }
  5. };

代码示例来源:origin: google/guava

  1. @Override
  2. public T next() {
  3. if (!iterator.hasNext()) {
  4. iterator = iterable.iterator();
  5. if (!iterator.hasNext()) {
  6. throw new NoSuchElementException();
  7. }
  8. }
  9. return iterator.next();
  10. }

代码示例来源:origin: iluwatar/java-design-patterns

  1. private void processPendingCommands() {
  2. Iterator<Runnable> iterator = pendingCommands.iterator();
  3. while (iterator.hasNext()) {
  4. Runnable command = iterator.next();
  5. command.run();
  6. iterator.remove();
  7. }
  8. }

代码示例来源:origin: google/guava

  1. public void testCycleRemoveSameElementTwice() {
  2. Iterator<String> cycle = Iterators.cycle("a", "b");
  3. cycle.next();
  4. cycle.remove();
  5. try {
  6. cycle.remove();
  7. fail("no exception thrown");
  8. } catch (IllegalStateException expected) {
  9. }
  10. }

相关文章