i working in school Al project it all work well but little slow.
in my project i have overridden equals method.
@Override
public boolean equals(Object obj) {
if (obj == null) {
return false;
} else if (obj instanceof map) {
map m = (map) obj;
for (int i = 0; i < mapSize; i++) {
for (int j = 0; j < mapSize; j++) {
if (m.board[i][j] != board[i][j])
return false;
}
}
}
return true;
}
i figure out if i write for loops in a decussate way to check first half of array 80% of times get pass in first half and 20% remaining i will check afterward . so i assumed it will work 50 % faster
for (int i = 0; i < mapSize; i++) {
for (int j = i%2 ; j < mapSize; j+=2) {
if (m.board[i][j] != board[i][j])
return false;
}
}
for (int i = 0; i < mapSize; i++) {
for (int j = (i+1)%2 ; j < mapSize; j+=2) {
if (m.board[i][j] != board[i][j])
return false;
}
}
after dividing the for loop and couple of test it seemed it getting slower i don't why only. why it take too mush time and how to make it faster
thanks in advance