In you Ball class, you have a Ball[] others variable that you don’t want in there.
In you old collide() method, you were using that variable to check the collision with all the other ball previously created.
But since you want to delete it, you need a new way to get the information of the other ball. This is done by giving a Ball as an argument to the collide function. That’s what’s in the curly bracket in this function: collideWith(Ball other)
This way you don’t need that Ball[] others variable since you are giving the function the needed information through the argument.
The function is almost the same. Just get rid of your loop since you don’t have your Ball[] others array and replace the others[i] by other[i] (wich is the name of the argument of the new function). I just took the liberty to rename it collideWith to give you a bit more understanding of what the function was doing.