Para recorrer una colección lo más habitual es usar un bucle, bien sea un while, un for tradicional o un for each. Por ejemplo si te dicen: dada una lista de 10 números, ¿cuántos de esos números tienen valor 7?
Normalmente se usará un bucle para recorrer los diez números para comprobar cuántos sietes hay.
Otra cosa es si en el api que estás usando existe un método predefinido que te permite obtener el número de veces que aparece un bucle invocando un método.
Por ejemplo: Coleccion.getNumeroApariciones(nombreArrayList, 7) te podría devolver el número de veces que aparece 7 en el ArrayList que pases como parámetro. De esta forma no estás utilizando ningún bucle (en realidad sí lo estás usando, pero digamos que en segundo plano porque es la clase y método que estás invocando quien implementa la operación).
Finalmente, podrías implementar un procedimiento recursivo para recorrer la colección. Esto quizás puedas considerar que formalmente no es un bucle (ya que no utilizarías for, while ni nada parecido).