Почему-то все циклы for-each
в моем методе полностью игнорируются, и я не могу понять, почему. Вот мой код:Для каждой петли, не выполняющей
private static boolean notUsed(ArrayList<Integer> check, ArrayList<ArrayList<Integer>> used)
{
boolean c1 = false;
boolean c2 = true;
for (ArrayList<Integer> item : used) // Not executed
{
System.out.println("It works!");
Collections.sort(item);
Collections.sort(check);
if (check.equals(item)) c1 = true;
}
ArrayList<Integer> existing = new ArrayList<Integer>();
for (int item : check)
{
for (int exists : existing) // Not executed
{
if (exists == item)
{
c2 = false;
break;
}
else existing.add(item);
}
if (c2 == false) break;
}
if (c1 && c2) return true;
else return false;
}
Я шел над ним в течение последних 15 минут и не понять, почему код отказывается заморачиваться с содержимым петель. На самом деле, я даже не знал, что java может избежать выполнения циклов до сих пор. Мне что-то не хватает?
Вы пробовали изменения Int в Integer в цикле Foreach? Есть разница. Один из них является примитивным, а один - объектом, поэтому это может быть вашей проблемой. –
Каков размер вашего ArrayList? – afrischke
Когда вы говорите для (ArrayList item: used) // Не выполнено –
smk