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
14
import
javolution
.
util
.
FastTable
;
15
import
javolution
.
util
.
function
.
Equality
;
16
import
javolution
.
util
.
internal
.
comparator
.
WrapperComparatorImpl
;
17
import
javolution
.
util
.
service
.
CollectionService
;
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
() {
30
FastTable<E>
sorted
=
new
FastTable<E>
(
comparator
);
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
) ?
66
(
Equality<E>
)
comparator
:
new
WrapperComparatorImpl<E>
(
comparator
);
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
80
public
Equality<? super E>
comparator
() {
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
core-java
src
main
java
javolution
util
internal
collection
SortedCollectionImpl.java
Generated by
1.8.18