fix stackoverflow in Int/LongList.intersectionUnsorted

This commit is contained in:
2019-09-07 16:50:40 +02:00
parent 86f12e0af6
commit 4d92197423
4 changed files with 20 additions and 4 deletions

View File

@@ -1092,13 +1092,13 @@ public final class IntList implements Serializable, Cloneable {
final int bSize = b.size();
final IntList result;
if (aSize < bSize) {
if (aSize <= bSize) {
result = new IntList(Math.min(aSize, bSize));
for (int l = 0; l < aSize; l++) {
final int lv = a.getUnsafe(l);
if (b.indexOf(lv) >= 0) {
if (b.indexOf(lv) >= 0 && result.indexOf(lv) < 0) {
result.addUnsafe(lv);
}

View File

@@ -1092,13 +1092,13 @@ public final class LongList implements Serializable, Cloneable {
final int bSize = b.size();
final LongList result;
if (aSize < bSize) {
if (aSize <= bSize) {
result = new LongList(Math.min(aSize, bSize));
for (int l = 0; l < aSize; l++) {
final long lv = a.getUnsafe(l);
if (b.indexOf(lv) >= 0) {
if (b.indexOf(lv) >= 0 && result.indexOf(lv) < 0) {
result.addUnsafe(lv);
}