ForEach em List?

Eu tenho o seguinte método:

private void playMedias() {

    for (int i = 0; i < numVideo; i++) {
        try {
            mediaPlayer[i].playMedia("local do vídeo");
            Thread.sleep(100);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }
}

E ao mesmo tempo tenho as classes

public class ClientDTO {
    private Integer client_id;
    private Integer videos;
    private List<RemoteUrlDTO> remote_urls;
    private String action;

    public Integer getClient_id() {
        return client_id;
    }
    public Integer getVideos() {
        return videos;
    }
    public List<RemoteUrlDTO> getRemote_urls() {
        return remote_urls;
    }
    public String getAction() {
        return action;
    }
}

que fiz com base nesse outro post aqui.

A classe RemoteUrlDTO tem isso aqui:

public class RemoteUrlDTO {
    private String url;

    public String getUrl() {
        return url;
    }

    @Override
    public String toString() {
        return "RemoteUrlDTO [url=" + url + "]";
    }
}

Minha dúvida é: Como fazer para que o meu método “playMedias” execute todos os itens do List? Eu to tentando de todas as formas e simplesmente não consigo entender o que preciso fazer…

Basicamente, a partir do java 8:

List<QualquerCoisa> lista = new ArrayList<>(); //Ou pode ser o retorno de um método que devolve a lista

lista.forEach(item -> {
    //Faz o que quer fazer dentro do loop.
});

Poderia ser o retorno desse método, Darlan?

E, aproveitando seu conhecimento, o que é isso aqui?

Nunca vi isso de “->” no Java :0

O que também não entendi muito bem é como usar. Eu creio que preciso desse for

para poder ir passando de player em player, se não o player[0] por exemplo tentaria executar duas URLs, eu acho…

Ao mesmo tempo que o player precisa ir passando pra frente (de 1 em 1 até atingir o numVideo), as URLs precisam ser executadas em cada um… é por isso que pensei que o certo seria armazenar as URLs num String[] e ir passando de indice em indice, assim como faço com o mediaPlayer.

Você colocou no título “ForEach em List” por que acha que um método que retorna String está relacionado com List?

Eu não sei que raios é numVideo, me parece que é o número de um vídeo, agora, de onde ele vem, não sei. Mas, não é um lista, é um inteiro.

Eu entendi o que você quer fazer. O lance é o seguinte, lembra que no post passado eu te instrui a fazer

?

esse “clientDTO” é a instancia que voce tem que trabalhar. Passe ela como parametro para poder usar os atributos que tem nela e tal. Quanto ao seu for, você pode fazer:

   for (int i = 0; i < numVideo; i++) {
            mediaPlayer[i].playMedia(client.getRemote_urls().get(i).getUrl());
        }

que vai funcionar.

Qualquer coisa deixa aí que a gente vê como dá pra te ajudar.