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();
|
int length = c.size();
|
||||||
if(length == 0) return false;
|
if(length == 0) return false;
|
||||||
checkAddRange(index);
|
checkAddRange(index);
|
||||||
Entry KEY_GENERIC_TYPE next = null;
|
Entry KEY_GENERIC_TYPE next;
|
||||||
Entry KEY_GENERIC_TYPE prev = null;
|
Entry KEY_GENERIC_TYPE prev;
|
||||||
if(index == size) prev = last;
|
if(index == size) {
|
||||||
else if(index == 0) next = first;
|
prev = last;
|
||||||
|
next = null;
|
||||||
|
}
|
||||||
|
else if(index == 0) {
|
||||||
|
next = first;
|
||||||
|
prev = null;
|
||||||
|
}
|
||||||
else {
|
else {
|
||||||
next = getNode(index);
|
next = getNode(index);
|
||||||
prev = next.prev;
|
prev = next.prev;
|
||||||
|
@ -180,10 +186,16 @@ public class LINKED_LIST KEY_GENERIC_TYPE extends ABSTRACT_LIST KEY_GENERIC_TYPE
|
||||||
int length = c.size();
|
int length = c.size();
|
||||||
if(length == 0) return false;
|
if(length == 0) return false;
|
||||||
checkAddRange(index);
|
checkAddRange(index);
|
||||||
Entry KEY_GENERIC_TYPE next = null;
|
Entry KEY_GENERIC_TYPE next;
|
||||||
Entry KEY_GENERIC_TYPE prev = null;
|
Entry KEY_GENERIC_TYPE prev;
|
||||||
if(index == size) prev = last;
|
if(index == size) {
|
||||||
else if(index == 0) next = first;
|
prev = last;
|
||||||
|
next = null;
|
||||||
|
}
|
||||||
|
else if(index == 0) {
|
||||||
|
next = first;
|
||||||
|
prev = null;
|
||||||
|
}
|
||||||
else {
|
else {
|
||||||
next = getNode(index);
|
next = getNode(index);
|
||||||
prev = next.prev;
|
prev = next.prev;
|
||||||
|
@ -210,10 +222,16 @@ public class LINKED_LIST KEY_GENERIC_TYPE extends ABSTRACT_LIST KEY_GENERIC_TYPE
|
||||||
int length = c.size();
|
int length = c.size();
|
||||||
if(length == 0) return false;
|
if(length == 0) return false;
|
||||||
checkAddRange(index);
|
checkAddRange(index);
|
||||||
Entry KEY_GENERIC_TYPE next = null;
|
Entry KEY_GENERIC_TYPE next;
|
||||||
Entry KEY_GENERIC_TYPE prev = null;
|
Entry KEY_GENERIC_TYPE prev;
|
||||||
if(index == size) prev = last;
|
if(index == size) {
|
||||||
else if(index == 0) next = first;
|
prev = last;
|
||||||
|
next = null;
|
||||||
|
}
|
||||||
|
else if(index == 0) {
|
||||||
|
next = first;
|
||||||
|
prev = null;
|
||||||
|
}
|
||||||
else {
|
else {
|
||||||
next = getNode(index);
|
next = getNode(index);
|
||||||
prev = next.prev;
|
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) {
|
public void addElements(int from, KEY_TYPE[] a, int offset, int length) {
|
||||||
SanityChecks.checkArrayCapacity(a.length, offset, length);
|
SanityChecks.checkArrayCapacity(a.length, offset, length);
|
||||||
checkAddRange(from);
|
checkAddRange(from);
|
||||||
Entry KEY_GENERIC_TYPE next = null;
|
Entry KEY_GENERIC_TYPE next;
|
||||||
Entry KEY_GENERIC_TYPE prev = null;
|
Entry KEY_GENERIC_TYPE prev;
|
||||||
if(from == size) prev = last;
|
if(from == size) {
|
||||||
else if(from == 0) next = first;
|
prev = last;
|
||||||
|
next = null;
|
||||||
|
}
|
||||||
|
else if(from == 0) {
|
||||||
|
next = first;
|
||||||
|
prev = null;
|
||||||
|
}
|
||||||
else {
|
else {
|
||||||
next = getNode(from);
|
next = getNode(from);
|
||||||
prev = next.prev;
|
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();
|
KEY_TYPE key = entry.ENTRY_KEY();
|
||||||
if (!inRange(key)) return false;
|
if (!inRange(key)) return false;
|
||||||
Node KEY_VALUE_GENERIC_TYPE node = map.findNode(key);
|
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);
|
map.removeNode(node);
|
||||||
return true;
|
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();
|
KEY_TYPE key = entry.ENTRY_KEY();
|
||||||
if (!inRange(key)) return false;
|
if (!inRange(key)) return false;
|
||||||
Node KEY_VALUE_GENERIC_TYPE node = map.findNode(key);
|
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);
|
map.removeNode(node);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -155,11 +155,11 @@ public interface SORTED_MAP KEY_VALUE_GENERIC_TYPE extends SortedMap<CLASS_TYPE,
|
||||||
public VALUE_TYPE LAST_ENTRY_VALUE();
|
public VALUE_TYPE LAST_ENTRY_VALUE();
|
||||||
|
|
||||||
@Override
|
@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
|
@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
|
@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
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Reference in New Issue