forked from Speiger/Primitive-Collections
Fixed a couple bugs.
-Fixed: TreeMap.subMap().entrySet().remove() wouldn't check primitives properly. -Fixed: SortedMap.sub/tail/headMap were looping into themselves. -Changed: LinkedList.addBulk variable definition was triggering a false positive.
This commit is contained in:
parent
4bded1af80
commit
31b34f5de1
|
@ -152,10 +152,16 @@ public class LINKED_LIST KEY_GENERIC_TYPE extends ABSTRACT_LIST KEY_GENERIC_TYPE
|
|||
int length = c.size();
|
||||
if(length == 0) return false;
|
||||
checkAddRange(index);
|
||||
Entry KEY_GENERIC_TYPE next = null;
|
||||
Entry KEY_GENERIC_TYPE prev = null;
|
||||
if(index == size) prev = last;
|
||||
else if(index == 0) next = first;
|
||||
Entry KEY_GENERIC_TYPE next;
|
||||
Entry KEY_GENERIC_TYPE prev;
|
||||
if(index == size) {
|
||||
prev = last;
|
||||
next = null;
|
||||
}
|
||||
else if(index == 0) {
|
||||
next = first;
|
||||
prev = null;
|
||||
}
|
||||
else {
|
||||
next = getNode(index);
|
||||
prev = next.prev;
|
||||
|
@ -180,10 +186,16 @@ public class LINKED_LIST KEY_GENERIC_TYPE extends ABSTRACT_LIST KEY_GENERIC_TYPE
|
|||
int length = c.size();
|
||||
if(length == 0) return false;
|
||||
checkAddRange(index);
|
||||
Entry KEY_GENERIC_TYPE next = null;
|
||||
Entry KEY_GENERIC_TYPE prev = null;
|
||||
if(index == size) prev = last;
|
||||
else if(index == 0) next = first;
|
||||
Entry KEY_GENERIC_TYPE next;
|
||||
Entry KEY_GENERIC_TYPE prev;
|
||||
if(index == size) {
|
||||
prev = last;
|
||||
next = null;
|
||||
}
|
||||
else if(index == 0) {
|
||||
next = first;
|
||||
prev = null;
|
||||
}
|
||||
else {
|
||||
next = getNode(index);
|
||||
prev = next.prev;
|
||||
|
@ -210,10 +222,16 @@ public class LINKED_LIST KEY_GENERIC_TYPE extends ABSTRACT_LIST KEY_GENERIC_TYPE
|
|||
int length = c.size();
|
||||
if(length == 0) return false;
|
||||
checkAddRange(index);
|
||||
Entry KEY_GENERIC_TYPE next = null;
|
||||
Entry KEY_GENERIC_TYPE prev = null;
|
||||
if(index == size) prev = last;
|
||||
else if(index == 0) next = first;
|
||||
Entry KEY_GENERIC_TYPE next;
|
||||
Entry KEY_GENERIC_TYPE prev;
|
||||
if(index == size) {
|
||||
prev = last;
|
||||
next = null;
|
||||
}
|
||||
else if(index == 0) {
|
||||
next = first;
|
||||
prev = null;
|
||||
}
|
||||
else {
|
||||
next = getNode(index);
|
||||
prev = next.prev;
|
||||
|
@ -260,10 +278,16 @@ public class LINKED_LIST KEY_GENERIC_TYPE extends ABSTRACT_LIST KEY_GENERIC_TYPE
|
|||
public void addElements(int from, KEY_TYPE[] a, int offset, int length) {
|
||||
SanityChecks.checkArrayCapacity(a.length, offset, length);
|
||||
checkAddRange(from);
|
||||
Entry KEY_GENERIC_TYPE next = null;
|
||||
Entry KEY_GENERIC_TYPE prev = null;
|
||||
if(from == size) prev = last;
|
||||
else if(from == 0) next = first;
|
||||
Entry KEY_GENERIC_TYPE next;
|
||||
Entry KEY_GENERIC_TYPE prev;
|
||||
if(from == size) {
|
||||
prev = last;
|
||||
next = null;
|
||||
}
|
||||
else if(from == 0) {
|
||||
next = first;
|
||||
prev = null;
|
||||
}
|
||||
else {
|
||||
next = getNode(from);
|
||||
prev = next.prev;
|
||||
|
|
|
@ -1778,7 +1778,7 @@ public class AVL_TREE_MAP KEY_VALUE_GENERIC_TYPE extends ABSTRACT_MAP KEY_VALUE_
|
|||
KEY_TYPE key = entry.ENTRY_KEY();
|
||||
if (!inRange(key)) return false;
|
||||
Node KEY_VALUE_GENERIC_TYPE node = map.findNode(key);
|
||||
if (node != null && VALUE_EQUALS(node.getValue(), entry.getValue())) {
|
||||
if (node != null && VALUE_EQUALS(node.ENTRY_VALUE(), entry.ENTRY_VALUE())) {
|
||||
map.removeNode(node);
|
||||
return true;
|
||||
}
|
||||
|
|
|
@ -1835,7 +1835,7 @@ public class RB_TREE_MAP KEY_VALUE_GENERIC_TYPE extends ABSTRACT_MAP KEY_VALUE_G
|
|||
KEY_TYPE key = entry.ENTRY_KEY();
|
||||
if (!inRange(key)) return false;
|
||||
Node KEY_VALUE_GENERIC_TYPE node = map.findNode(key);
|
||||
if (node != null && VALUE_EQUALS(node.getValue(), entry.getValue())) {
|
||||
if (node != null && VALUE_EQUALS(node.ENTRY_VALUE(), entry.ENTRY_VALUE())) {
|
||||
map.removeNode(node);
|
||||
return true;
|
||||
}
|
||||
|
|
|
@ -155,11 +155,11 @@ public interface SORTED_MAP KEY_VALUE_GENERIC_TYPE extends SortedMap<CLASS_TYPE,
|
|||
public VALUE_TYPE LAST_ENTRY_VALUE();
|
||||
|
||||
@Override
|
||||
public default SORTED_MAP KEY_VALUE_GENERIC_TYPE subMap(CLASS_TYPE fromKey, CLASS_TYPE toKey) { return subMap(OBJ_TO_KEY(fromKey), OBJ_TO_KEY(toKey)); }
|
||||
public SORTED_MAP KEY_VALUE_GENERIC_TYPE subMap(CLASS_TYPE fromKey, CLASS_TYPE toKey);
|
||||
@Override
|
||||
public default SORTED_MAP KEY_VALUE_GENERIC_TYPE headMap(CLASS_TYPE toKey) { return headMap(OBJ_TO_KEY(toKey)); }
|
||||
public SORTED_MAP KEY_VALUE_GENERIC_TYPE headMap(CLASS_TYPE toKey);
|
||||
@Override
|
||||
public default SORTED_MAP KEY_VALUE_GENERIC_TYPE tailMap(CLASS_TYPE fromKey) { return tailMap(OBJ_TO_KEY(fromKey)); }
|
||||
public SORTED_MAP KEY_VALUE_GENERIC_TYPE tailMap(CLASS_TYPE fromKey);
|
||||
#endif
|
||||
|
||||
/**
|
||||
|
|
Loading…
Reference in New Issue