Again, try to move your arrive() methode outside your for loop:
float currentSmallest = (parent.height * parent.height) + (parent.width * parent.width);
float d;
for(int a = carn1m.size()-1; a >= 0; a--){
Carnivor1M c1m = carn1m.get(a); //Change here
for(int b = lac.size()-1; b >= 0; b--){
Lac l = lac.get(b);
d = ((c1m.position.x - l.position.x) * (c1m.position.x - l.position.x)) + ((c1m.position.y - l.position.y) * (c1m.position.y - l.position.y));
if(d < currentSmallest){
currentSmallest = d;
PVector target = new PVector(l.position.x, l.position.y);
}
}
c1m.arrive(target); //And change here
}