Javolution 6.0.0 java
FastSortedMap.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;
10 
11 import static javolution.lang.Realtime.Limit.LOG_N;
12 
13 import java.util.Comparator;
14 import java.util.SortedMap;
15 
16 import javolution.lang.Realtime;
24 
34 public class FastSortedMap<K, V> extends FastMap<K, V> implements
35  SortedMap<K, V> {
36 
37  private static final long serialVersionUID = 0x600L; // Version.
38 
42  public FastSortedMap() {
43  this(Equalities.STANDARD);
44  }
45 
50  public FastSortedMap(Equality<? super K> keyComparator) {
51  this(keyComparator, Equalities.STANDARD);
52  }
53 
58  public FastSortedMap(Equality<? super K> keyComparator,
59  Equality<? super V> valueComparator) {
60  super(new FastSortedMapImpl<K, V>(keyComparator, valueComparator));
61  }
62 
67  super(service);
68  }
69 
71  // Views.
72  //
73 
74  @Override
77  }
78 
79  @Override
82  }
83 
84  @Override
87  service()));
88  }
89 
90  @Override
92  return new FastSortedSet<Entry<K, V>>(service().entrySet());
93  }
94 
95  @Override
97  return new FastSortedSet<K>(service().keySet());
98  }
99 
101  @Override
102  public FastSortedMap<K, V> subMap(K fromKey, K toKey) {
103  return new FastSortedMap<K, V>(service().subMap(fromKey, toKey));
104  }
105 
107  @Override
108  public FastSortedMap<K, V> headMap(K toKey) {
109  return new FastSortedMap<K, V>(service().subMap(firstKey(), toKey));
110  }
111 
113  @Override
114  public FastSortedMap<K, V> tailMap(K fromKey) {
115  return new FastSortedMap<K, V>(service().subMap(fromKey, lastKey()));
116  }
117 
119  // Change in time limit behavior.
120  //
121 
122  @Override
123  @Realtime(limit = LOG_N)
124  public boolean containsKey(Object key) {
125  return super.containsKey(key);
126  }
127 
128  @Override
129  @Realtime(limit = LOG_N)
130  public V get(Object key) {
131  return super.get(key);
132  }
133 
134  @Override
135  @Realtime(limit = LOG_N)
136  public V put(K key, V value) {
137  return super.put(key, value);
138  }
139 
140  @Override
141  @Realtime(limit = LOG_N)
142  public V remove(Object key) {
143  return super.remove(key);
144  }
145 
146  @Override
147  @Realtime(limit = LOG_N)
148  public V putIfAbsent(K key, V value) {
149  return super.putIfAbsent(key, value);
150  }
151 
152  @Override
153  @Realtime(limit = LOG_N)
154  public boolean remove(Object key, Object value) {
155  return super.remove(key, value);
156  }
157 
158  @Override
159  @Realtime(limit = LOG_N)
160  public boolean replace(K key, V oldValue, V newValue) {
161  return super.replace(key, oldValue, newValue);
162  }
163 
164  @Override
165  @Realtime(limit = LOG_N)
166  public V replace(K key, V value) {
167  return super.replace(key, value);
168  }
169 
171  // SortedMap Interface.
172  //
173 
175  @Override
176  public K firstKey() {
177  return service().firstKey();
178  }
179 
181  @Override
182  public K lastKey() {
183  return service().lastKey();
184  }
185 
187  @Override
188  public Comparator<? super K> comparator() {
189  return keySet().comparator();
190  }
191 
193  // Misc.
194  //
195 
196  @Override
198  return (FastSortedMap<K, V>) super.putAll(that);
199  }
200 
201  @Override
203  return (SortedMapService<K, V>) super.service();
204  }
205 }
javolution.util.function.Equalities.STANDARD
static final Equality< Object > STANDARD
Definition: Equalities.java:31
javolution.util.internal.map.sorted
Definition: AtomicSortedMapImpl.java:9
javolution
javolution.util.FastSortedMap.headMap
FastSortedMap< K, V > headMap(K toKey)
Definition: FastSortedMap.java:108
javolution.util.internal
javolution.util.service
Definition: BitSetService.java:9
javolution.lang.Realtime.Limit
Definition: Realtime.java:81
javolution.util.FastMap
Definition: FastMap.java:98
javolution.util.FastSortedMap.unmodifiable
FastSortedMap< K, V > unmodifiable()
Definition: FastSortedMap.java:85
javolution.util.FastSortedMap.remove
V remove(Object key)
Definition: FastSortedMap.java:142
javolution.util.FastSortedMap.firstKey
K firstKey()
Definition: FastSortedMap.java:176
javolution.util.FastSortedMap.tailMap
FastSortedMap< K, V > tailMap(K fromKey)
Definition: FastSortedMap.java:114
javolution.util.FastSortedMap.service
SortedMapService< K, V > service()
Definition: FastSortedMap.java:202
javolution.lang.Realtime.Limit.LOG_N
LOG_N
Definition: Realtime.java:92
javolution.util.internal.map.sorted.FastSortedMapImpl
Definition: FastSortedMapImpl.java:19
javolution.util.service.SortedMapService
Definition: SortedMapService.java:21
javolution.util.function.Equality
Definition: Equality.java:39
javolution.util.FastSortedMap.put
V put(K key, V value)
Definition: FastSortedMap.java:136
javolution.lang
Definition: Configurable.java:9
javolution.util.function.Equalities
Definition: Equalities.java:20
javolution.util.internal.map.sorted.UnmodifiableSortedMapImpl
Definition: UnmodifiableSortedMapImpl.java:21
javolution.util.internal.map.sorted.SharedSortedMapImpl
Definition: SharedSortedMapImpl.java:21
javolution.util.FastSortedMap.entrySet
FastSortedSet< Entry< K, V > > entrySet()
Definition: FastSortedMap.java:91
javolution.util.FastSortedMap.FastSortedMap
FastSortedMap(SortedMapService< K, V > service)
Definition: FastSortedMap.java:66
javolution.util.FastSortedMap.FastSortedMap
FastSortedMap(Equality<? super K > keyComparator)
Definition: FastSortedMap.java:50
javolution.util.function
Definition: Consumer.java:9
javolution.lang.Realtime
Definition: Realtime.java:59
javolution.util.FastSortedMap.putAll
FastSortedMap< K, V > putAll(FastMap<? extends K, ? extends V > that)
Definition: FastSortedMap.java:197
javolution.util.FastSortedMap.containsKey
boolean containsKey(Object key)
Definition: FastSortedMap.java:124
javolution.util.FastSortedMap.subMap
FastSortedMap< K, V > subMap(K fromKey, K toKey)
Definition: FastSortedMap.java:102
javolution.util.FastSortedMap.get
V get(Object key)
Definition: FastSortedMap.java:130
javolution.util.FastSortedMap.putIfAbsent
V putIfAbsent(K key, V value)
Definition: FastSortedMap.java:148
javolution.util.FastSortedSet
Definition: FastSortedSet.java:30
javolution.util.FastSortedMap.replace
boolean replace(K key, V oldValue, V newValue)
Definition: FastSortedMap.java:160
javolution.util.FastSortedMap.FastSortedMap
FastSortedMap()
Definition: FastSortedMap.java:42
javolution.util.FastSortedMap.atomic
FastSortedMap< K, V > atomic()
Definition: FastSortedMap.java:75
javolution.util.FastSortedMap.serialVersionUID
static final long serialVersionUID
Definition: FastSortedMap.java:37
javolution.util.FastSortedMap.keySet
FastSortedSet< K > keySet()
Definition: FastSortedMap.java:96
javolution.util.FastSortedMap
Definition: FastSortedMap.java:35
javolution.util.FastSortedMap.lastKey
K lastKey()
Definition: FastSortedMap.java:182
javolution.util.FastSortedMap.comparator
Comparator<? super K > comparator()
Definition: FastSortedMap.java:188
javolution.util
Definition: FastBitSet.java:9
javolution.util.internal.map
Definition: AtomicMapImpl.java:9
javolution.util.FastSortedMap.shared
FastSortedMap< K, V > shared()
Definition: FastSortedMap.java:80
javolution.util.internal.map.sorted.AtomicSortedMapImpl
Definition: AtomicSortedMapImpl.java:21
javolution.util.FastSortedMap.FastSortedMap
FastSortedMap(Equality<? super K > keyComparator, Equality<? super V > valueComparator)
Definition: FastSortedMap.java:58