Como armazenar nomes em uma lista e encontrar o mais longo deles?

Escreva um programa que lê o nome de 5 pessoas e armazena numa lista de fontes. Ao final, informe qual o nome mais longo presente na lista.

Qual a dúvida?

Não sei como contar os caracteres da lista.

public static void main(String[] args) {
ArrayList nomes = new ArrayList();

        nomes.add("Ana ");
        nomes.add("Davi Alexandre");
        nomes.add("Arthur");
        nomes.add("Gabrielle ");
        nomes.add("Bruna Torres");



    }

Veja um exemplo:

String nome = "teste";
int tamanhoNome = nome.length();

FONTE: String#length()