Javolution 6.0.0 java
ReversedCollectionImpl.java
Go to the documentation of this file.
1 /*
2  * Javolution - Java(TM) Solution for Real-Time and Embedded Systems
3  * Copyright (C) 2012 - Javolution (http://javolution.org/)
4  * All rights reserved.
5  *
6  * Permission to use, copy, modify, and distribute this software is
7  * freely granted, provided that this notice is preserved.
8  */
9 package javolution.util.internal.collection;
10 
11 import java.util.Iterator;
12 
15 
19 public class ReversedCollectionImpl<E> extends CollectionView<E> {
20 
22  private class IteratorImpl implements Iterator<E> {
23 
24  @SuppressWarnings("unchecked")
25  private final E[] elements = (E[]) new Object[size()];
26  private int index = 0;
27 
28  public IteratorImpl() {
29  Iterator<E> it = target().iterator();
30  while (it.hasNext() && (index < elements.length)) {
31  elements[index++] = it.next();
32  }
33  }
34 
35  @Override
36  public boolean hasNext() {
37  return index > 0;
38  }
39 
40  @Override
41  public E next() {
42  return elements[--index];
43  }
44 
45  @Override
46  public void remove() {
47  target().remove(elements[index]);
48  }
49 
50  }
51 
52  private static final long serialVersionUID = 0x600L; // Version.
53 
55  super(target);
56  }
57 
58  @Override
59  public boolean add(E e) {
60  return target().add(e);
61  }
62 
63  @Override
64  public void clear() {
65  target().clear();
66  }
67 
68  @Override
70  return target().comparator();
71  }
72 
73  @Override
74  public boolean contains(Object obj) {
75  return target().contains(obj);
76  }
77 
78  @Override
79  public boolean isEmpty() {
80  return target().isEmpty();
81  }
82 
83  @Override
84  public Iterator<E> iterator() {
85  return new IteratorImpl();
86  }
87 
88  @Override
89  public boolean remove(Object obj) {
90  return target().remove(obj);
91  }
92 
93  @Override
94  public int size() {
95  return target().size();
96  }
97 
98 }
javolution.util.internal.collection.ReversedCollectionImpl.IteratorImpl.next
E next()
Definition: ReversedCollectionImpl.java:41
javolution
javolution.util.service
Definition: BitSetService.java:9
javolution.util.internal.collection.CollectionView
Definition: CollectionView.java:29
javolution.util.internal.collection.ReversedCollectionImpl.add
boolean add(E e)
Definition: ReversedCollectionImpl.java:59
javolution.util.internal.collection.ReversedCollectionImpl.IteratorImpl.elements
final E[] elements
Definition: ReversedCollectionImpl.java:25
javolution.util.internal.collection.ReversedCollectionImpl.contains
boolean contains(Object obj)
Definition: ReversedCollectionImpl.java:74
javolution.util.internal.collection.ReversedCollectionImpl.serialVersionUID
static final long serialVersionUID
Definition: ReversedCollectionImpl.java:52
javolution.util.service.CollectionService
Definition: CollectionService.java:25
javolution.util.internal.collection.ReversedCollectionImpl.size
int size()
Definition: ReversedCollectionImpl.java:94
javolution.util.function.Equality
Definition: Equality.java:39
javolution.util.internal.collection.CollectionView.target
CollectionService< E > target
Definition: CollectionView.java:33
javolution.util.internal.collection.ReversedCollectionImpl.iterator
Iterator< E > iterator()
Definition: ReversedCollectionImpl.java:84
javolution.util.function
Definition: Consumer.java:9
javolution.util.internal.collection.ReversedCollectionImpl
Definition: ReversedCollectionImpl.java:19
javolution.util.internal.collection.ReversedCollectionImpl.IteratorImpl
Definition: ReversedCollectionImpl.java:22
javolution.util.internal.collection.ReversedCollectionImpl.isEmpty
boolean isEmpty()
Definition: ReversedCollectionImpl.java:79
javolution.util.internal.collection.ReversedCollectionImpl.clear
void clear()
Definition: ReversedCollectionImpl.java:64
javolution.util.internal.collection.ReversedCollectionImpl.ReversedCollectionImpl
ReversedCollectionImpl(CollectionService< E > target)
Definition: ReversedCollectionImpl.java:54
javolution.util.internal.collection.ReversedCollectionImpl.IteratorImpl.hasNext
boolean hasNext()
Definition: ReversedCollectionImpl.java:36
javolution.util.internal.collection.ReversedCollectionImpl.comparator
Equality<? super E > comparator()
Definition: ReversedCollectionImpl.java:69
javolution.util.internal.collection.ReversedCollectionImpl.IteratorImpl.index
int index
Definition: ReversedCollectionImpl.java:26
javolution.util
Definition: FastBitSet.java:9