339 |
|
/* ---------------- Access and update operations -------------- */ |
340 |
|
|
341 |
|
/** Implementation for get and containsKey **/ |
342 |
< |
private final Object internalGet(Object k) { |
342 |
> |
private final Object internalGet(Object k) { |
343 |
|
int h = spread(k.hashCode()); |
344 |
|
Node[] tab = table; |
345 |
|
retry: while (tab != null) { |
380 |
|
else { |
381 |
|
boolean validated = false; |
382 |
|
boolean checkSize = false; |
383 |
< |
synchronized(e) { |
383 |
> |
synchronized (e) { |
384 |
|
Node first = e; |
385 |
|
for (;;) { |
386 |
|
Object ek, ev; |
438 |
|
else { |
439 |
|
boolean validated = false; |
440 |
|
boolean deleted = false; |
441 |
< |
synchronized(e) { |
441 |
> |
synchronized (e) { |
442 |
|
Node pred = null; |
443 |
|
Node first = e; |
444 |
|
for (;;) { |
497 |
|
tab = grow(0); |
498 |
|
else if ((e = tabAt(tab, i = (tab.length - 1) & h)) == null) { |
499 |
|
Node node = new Node(h, k, null, null); |
500 |
< |
synchronized(node) { |
500 |
> |
synchronized (node) { |
501 |
|
if (casTabAt(tab, i, null, node)) { |
502 |
|
validated = true; |
503 |
|
try { |
517 |
|
tab = (Node[])e.key; |
518 |
|
else { |
519 |
|
boolean checkSize = false; |
520 |
< |
synchronized(e) { |
520 |
> |
synchronized (e) { |
521 |
|
Node first = e; |
522 |
|
for (;;) { |
523 |
|
Object ek, ev; |
586 |
|
} |
587 |
|
else { |
588 |
|
boolean validated = false; |
589 |
< |
synchronized(e) { |
589 |
> |
synchronized (e) { |
590 |
|
int idx = e.hash & mask; |
591 |
|
Node lastRun = e; |
592 |
|
for (Node p = e.next; p != null; p = p.next) { |
677 |
|
*/ |
678 |
|
private final void internalPutAll(Map<? extends K, ? extends V> m) { |
679 |
|
int s = m.size(); |
680 |
< |
grow((s >= (MAXIMUM_CAPACITY >>> 1))? s : s + (s >>> 1)); |
680 |
> |
grow((s >= (MAXIMUM_CAPACITY >>> 1)) ? s : s + (s >>> 1)); |
681 |
|
for (Map.Entry<? extends K, ? extends V> e : m.entrySet()) { |
682 |
|
Object k = e.getKey(); |
683 |
|
Object v = e.getValue(); |
702 |
|
tab = (Node[])e.key; |
703 |
|
else { |
704 |
|
boolean validated = false; |
705 |
< |
synchronized(e) { |
705 |
> |
synchronized (e) { |
706 |
|
if (tabAt(tab, i) == e) { |
707 |
|
validated = true; |
708 |
|
do { |
983 |
|
*/ |
984 |
|
public int size() { |
985 |
|
long n = counter.sum(); |
986 |
< |
return n <= 0L? 0 : n >= Integer.MAX_VALUE ? Integer.MAX_VALUE : (int)n; |
986 |
> |
return (n <= 0L) ? 0 : |
987 |
> |
(n >= Integer.MAX_VALUE) ? Integer.MAX_VALUE : |
988 |
> |
(int)n; |
989 |
|
} |
990 |
|
|
991 |
|
/** |
1189 |
|
public V remove(Object key) { |
1190 |
|
if (key == null) |
1191 |
|
throw new NullPointerException(); |
1192 |
< |
return (V)internalReplace(key, null, null); |
1192 |
> |
return (V)internalReplace(key, null, null); |
1193 |
|
} |
1194 |
|
|
1195 |
|
/** |
1213 |
|
public boolean replace(K key, V oldValue, V newValue) { |
1214 |
|
if (key == null || oldValue == null || newValue == null) |
1215 |
|
throw new NullPointerException(); |
1216 |
< |
return internalReplace(key, newValue, oldValue) != null; |
1216 |
> |
return internalReplace(key, newValue, oldValue) != null; |
1217 |
|
} |
1218 |
|
|
1219 |
|
/** |
1227 |
|
public V replace(K key, V value) { |
1228 |
|
if (key == null || value == null) |
1229 |
|
throw new NullPointerException(); |
1230 |
< |
return (V)internalReplace(key, value, null); |
1230 |
> |
return (V)internalReplace(key, value, null); |
1231 |
|
} |
1232 |
|
|
1233 |
|
/** |