Javolution 6.0.0 java
FastSortedMapImpl.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.map.sorted;
10
11
import
java.util.Iterator;
12
13
import
javolution
.
util
.
function
.
Equality
;
14
import
javolution
.
util
.
internal
.
table
.
sorted
.
FastSortedTableImpl
;
15
19
public
class
FastSortedMapImpl
<K, V>
extends
SortedMapView
<K,V> {
20
21
private
static
final
long
serialVersionUID
= 0x600L;
// Version.
22
private
final
Equality<? super K>
keyComparator
;
23
private
FastSortedTableImpl<Entry<K,V>
>
entries
24
=
new
FastSortedTableImpl<Entry<K,V>
>(
new
EntryComparator
());
25
private
final
Equality<? super V>
valueComparator
;
26
27
public
FastSortedMapImpl
(
final
Equality<? super K>
keyComparator
,
28
final
Equality<? super V>
valueComparator
) {
29
super(
null
);
30
this.keyComparator =
keyComparator
;
31
this.valueComparator =
valueComparator
;
32
}
33
34
@SuppressWarnings(
"unchecked"
)
35
@Override
36
public
boolean
containsKey
(Object key) {
37
return
entries
.contains(
new
MapEntryImpl<K,V>
((K)key,
null
));
38
}
39
40
@Override
41
public
K
firstKey
() {
42
return
entries
.getFirst().getKey();
43
}
44
45
@SuppressWarnings(
"unchecked"
)
46
@Override
47
public
V
get
(Object key) {
48
int
i =
entries
.
indexOf
(
new
MapEntryImpl<K,V>
((K)key,
null
));
49
return
(i >= 0) ?
entries
.get(i).getValue() :
null
;
50
}
51
52
@Override
53
public
Iterator<Entry<K, V>>
iterator
() {
54
return
entries
.iterator();
55
}
56
57
@Override
58
public
Equality<? super K>
keyComparator
() {
59
return
keyComparator
;
60
}
61
62
@Override
63
public
K
lastKey
() {
64
return
entries
.getLast().getKey();
65
}
66
67
@Override
68
public
V
put
(K key, V value) {
69
MapEntryImpl<K,V>
entry =
new
MapEntryImpl<K,V>
(key, value);
70
int
i =
entries
.
positionOf
(entry);
71
if
(i <
size
()) {
72
Entry<K,V> e =
entries
.get(i);
73
if
(
keyComparator
().areEqual(key, e.getKey())) {
// Entry exists.
74
V previous = e.getValue();
75
e.setValue(value);
76
return
previous;
77
}
78
}
79
entries
.
add
(i, entry);
80
return
null
;
81
}
82
83
@SuppressWarnings(
"unchecked"
)
84
@Override
85
public
V
remove
(Object key) {
86
int
i =
entries
.
indexOf
(
new
MapEntryImpl<K,V>
((K)key,
null
));
87
if
(i < 0)
return
null
;
88
Entry<K,V> e =
entries
.get(i);
89
V previous = e.getValue();
90
entries
.remove(i);
91
return
previous;
92
}
93
94
@Override
95
public
Equality<? super V>
valueComparator
() {
96
return
valueComparator
;
97
}
98
99
}
javolution
javolution.util.internal
javolution.util.internal.map.sorted.MapEntryImpl
Definition:
sorted/MapEntryImpl.java:17
javolution.util.internal.map.sorted.FastSortedMapImpl.valueComparator
Equality<? super V > valueComparator()
Definition:
FastSortedMapImpl.java:95
javolution.util.internal.table
Definition:
AtomicTableImpl.java:9
javolution.util.internal.map.sorted.FastSortedMapImpl.firstKey
K firstKey()
Definition:
FastSortedMapImpl.java:41
javolution.util.internal.map.sorted.FastSortedMapImpl.serialVersionUID
static final long serialVersionUID
Definition:
FastSortedMapImpl.java:21
javolution.util.internal.map.sorted.FastSortedMapImpl
Definition:
FastSortedMapImpl.java:19
javolution.util.internal.map.sorted.FastSortedMapImpl.put
V put(K key, V value)
Definition:
FastSortedMapImpl.java:68
javolution.util.function.Equality
Definition:
Equality.java:39
javolution.util.internal.map.sorted.FastSortedMapImpl.keyComparator
final Equality<? super K > keyComparator
Definition:
FastSortedMapImpl.java:22
javolution.util.internal.map.sorted.FastSortedMapImpl.lastKey
K lastKey()
Definition:
FastSortedMapImpl.java:63
javolution.util.internal.map.MapView.EntryComparator
Definition:
MapView.java:35
javolution.util.internal.map.sorted.FastSortedMapImpl.valueComparator
final Equality<? super V > valueComparator
Definition:
FastSortedMapImpl.java:25
javolution.util.internal.table.sorted.FastSortedTableImpl.indexOf
int indexOf(Object element)
Definition:
FastSortedTableImpl.java:43
javolution.util.internal.map.sorted.FastSortedMapImpl.entries
FastSortedTableImpl< Entry< K, V > > entries
Definition:
FastSortedMapImpl.java:24
javolution.util.internal.table.sorted.FastSortedTableImpl.add
boolean add(E element)
Definition:
FastSortedTableImpl.java:28
javolution.util.function
Definition:
Consumer.java:9
javolution.util.internal.table.sorted
Definition:
AtomicSortedTableImpl.java:9
javolution.util.internal.map.sorted.FastSortedMapImpl.keyComparator
Equality<? super K > keyComparator()
Definition:
FastSortedMapImpl.java:58
javolution.util.internal.map.sorted.FastSortedMapImpl.containsKey
boolean containsKey(Object key)
Definition:
FastSortedMapImpl.java:36
javolution.util.internal.table.sorted.FastSortedTableImpl.positionOf
int positionOf(E element)
Definition:
FastSortedTableImpl.java:50
javolution.util.internal.map.sorted.FastSortedMapImpl.FastSortedMapImpl
FastSortedMapImpl(final Equality<? super K > keyComparator, final Equality<? super V > valueComparator)
Definition:
FastSortedMapImpl.java:27
javolution.util.internal.map.sorted.FastSortedMapImpl.iterator
Iterator< Entry< K, V > > iterator()
Definition:
FastSortedMapImpl.java:53
javolution.util.internal.map.sorted.SortedMapView
Definition:
SortedMapView.java:24
javolution.util
Definition:
FastBitSet.java:9
javolution.util.internal.map.MapView.size
int size()
Definition:
MapView.java:331
javolution.util.internal.table.sorted.FastSortedTableImpl
Definition:
FastSortedTableImpl.java:19
core-java
src
main
java
javolution
util
internal
map
sorted
FastSortedMapImpl.java
Generated by
1.8.18