Alguem pode me ajudar com busca em largura no java

Ola, preciso implementar o metodo de busca em largura no java, porém não sei como cria uma lista em java, alguém poderia me ensinar como passar esse pseudocodigo pro java? pelo menos a parte de criar lista e inserir que tenho dificuldade

INICIO
CRIA_LISTA(L)
L.INSERE_ULTIMO(ORIGEM,NULL,NULL)
ACHOU = FALSO
WHILE (!ACHOU){
ATUAL = REMOVE_PRIMEIRO(L)
PARA CADA AÇÃO POSSIVEL EM ATUAL FAÇA
NOVO = CRIA NOVO (VALOR, ATUAL, NULL)
ATUAL.PROX <-NOVO
IF (VALOR == OBJETIVO) {
ACHOU = VERDADEIRO
BREAK
}
}
}
}

Uma lista pode ser

Vetor/Array, ArrayList, HashMap, LinkedList etc…