Javolution 6.0.0 java
SortedCollectionImpl.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.Comparator;
12 import java.util.Iterator;
13 
18 
22 public class SortedCollectionImpl<E> extends CollectionView<E> {
23 
25  private class IteratorImpl implements Iterator<E> {
26  private final Iterator<E> iterator;
27  private E next;
28 
29  public IteratorImpl() {
31  Iterator<E> it = target().iterator();
32  while (it.hasNext()) {
33  sorted.add(it.next());
34  }
35  sorted.sort();
36  iterator = sorted.iterator();
37  }
38 
39  @Override
40  public boolean hasNext() {
41  return iterator.hasNext();
42  }
43 
44  @Override
45  public E next() {
46  next = iterator.next();
47  return next;
48  }
49 
50  @Override
51  public void remove() {
52  if (next == null) throw new IllegalStateException();
53  target().remove(next);
54  next = null;
55  }
56 
57  }
58 
59  private static final long serialVersionUID = 0x600L; // Version.
60  protected final Equality<E> comparator;
61 
62  @SuppressWarnings("unchecked")
63  public SortedCollectionImpl(CollectionService<E> target, Comparator<? super E> comparator) {
64  super(target);
65  this.comparator = (comparator instanceof Equality) ?
67  }
68 
69  @Override
70  public boolean add(E e) {
71  return target().add(e);
72  }
73 
74  @Override
75  public void clear() {
76  target().clear();
77  }
78 
79  @Override
81  return comparator;
82  }
83 
84  @Override
85  public boolean contains(Object obj) {
86  return target().contains(obj);
87  }
88 
89  @Override
90  public boolean isEmpty() {
91  return target().isEmpty();
92  }
93 
94  @Override
95  public Iterator<E> iterator() {
96  return new IteratorImpl();
97  }
98 
99  @Override
100  public boolean remove(Object obj) {
101  return target().remove(obj);
102  }
103 
104  @Override
105  public int size() {
106  return target().size();
107  }
108 
109 }
javolution.util.internal.collection.SortedCollectionImpl.clear
void clear()
Definition: SortedCollectionImpl.java:75
javolution.util.internal.collection.SortedCollectionImpl.IteratorImpl.hasNext
boolean hasNext()
Definition: SortedCollectionImpl.java:40
javolution
javolution.util.internal
javolution.util.service
Definition: BitSetService.java:9
javolution.util.internal.collection.CollectionView
Definition: CollectionView.java:29
javolution.util.internal.collection.SortedCollectionImpl.IteratorImpl
Definition: SortedCollectionImpl.java:25
javolution.util.internal.collection.SortedCollectionImpl.IteratorImpl.next
E next()
Definition: SortedCollectionImpl.java:45
javolution.util.FastCollection.sorted
FastCollection< E > sorted()
Definition: FastCollection.java:267
javolution.util.internal.collection.SortedCollectionImpl.comparator
final Equality< E > comparator
Definition: SortedCollectionImpl.java:60
javolution.util.internal.comparator
Definition: ArrayComparatorImpl.java:9
javolution.util.service.CollectionService
Definition: CollectionService.java:25
javolution.util.internal.collection.SortedCollectionImpl.comparator
Equality<? super E > comparator()
Definition: SortedCollectionImpl.java:80
javolution.util.function.Equality
Definition: Equality.java:39
javolution.util.internal.collection.SortedCollectionImpl.add
boolean add(E e)
Definition: SortedCollectionImpl.java:70
javolution.util.internal.comparator.WrapperComparatorImpl
Definition: WrapperComparatorImpl.java:22
javolution.util.internal.collection.SortedCollectionImpl.IteratorImpl.iterator
final Iterator< E > iterator
Definition: SortedCollectionImpl.java:26
javolution.util.internal.collection.CollectionView.target
CollectionService< E > target
Definition: CollectionView.java:33
javolution.util.function
Definition: Consumer.java:9
javolution.util.internal.collection.SortedCollectionImpl
Definition: SortedCollectionImpl.java:22
javolution.util.internal.collection.SortedCollectionImpl.IteratorImpl.next
E next
Definition: SortedCollectionImpl.java:27
javolution.util.internal.collection.SortedCollectionImpl.size
int size()
Definition: SortedCollectionImpl.java:105
javolution.util.internal.collection.SortedCollectionImpl.contains
boolean contains(Object obj)
Definition: SortedCollectionImpl.java:85
javolution.util.internal.collection.SortedCollectionImpl.isEmpty
boolean isEmpty()
Definition: SortedCollectionImpl.java:90
javolution.util.internal.collection.SortedCollectionImpl.serialVersionUID
static final long serialVersionUID
Definition: SortedCollectionImpl.java:59
javolution.util.internal.collection.SortedCollectionImpl.IteratorImpl.IteratorImpl
IteratorImpl()
Definition: SortedCollectionImpl.java:29
javolution.util.internal.collection.SortedCollectionImpl.iterator
Iterator< E > iterator()
Definition: SortedCollectionImpl.java:95
javolution.util
Definition: FastBitSet.java:9
javolution.util.FastTable
Definition: FastTable.java:88