Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom galera, seria um problema relativamente simples, mas que ta me dando algum trabalho, vamos lá.
eu tenho um "for" com esta sentença "Usuario u : usuarios", ela me lista dados para um combobox, e nessa lista, eu mando o resultado para um outro
JFrame, sendo que, eu precisaria mandar no caso "u.getId()" que seria o selecionado na lista para uma consulta, nisso eu fiz um array para armazenar o valor de "u.getId()" sem aparecer para o usuario, e dps analizar a posiçao e mandar o "u.getId()" selecionado para outro jFrame, e pegar na lista a ordem do selecionado, e no array este selecionado pela ordem, mas ai que tá, eu precisaria nessa sentença "Usuario u : usuarios" correr uma variavel incrementando valor como se fosse um indice para o meu array, so que ela é uma sentença meio que especial, e quando tentei por um incremento junto "for (Usuario u : usuarios;i++)" deu um erro nesta sentença, ainda estou em estudos e tenho pouca experiencia nesta plataforma, estou precisando de ajuda, quem puder serei grato.
Ah, abaixo parte do código.
ArrayList us = new ArrayList();
try {
List<Usuario> usuarios = new ArrayList<Usuario>();
usuarios = udlo.listar();
for (Usuario u : usuarios) {
//Usuario u:usuarios instancio "u" e vai ate o fim de "usuarios"
us.add(u.getId());
jComboBox1.addItem(u.getNome() + ", " + u.getIdade() + " anos");
}
} catch (Exception e) {
JOptionPane.showMessageDialog(null, "Erro !");
}
Há outras maneiras de se percorrer uma coleção. A mais simples seria um for dessa maneira:
for (int i = 0; i < usuarios.size(); i++) {
Também é possível percorrer com while e do - while. Uma outra maneira que era muito utilizada nas versões anteriores do Java para percorrer coleções era o Iterator.
Iterator<Usuario> iterador = usuarios.iterator();
while (iterador.hasNext()) {
Mas no seu caso, a primeira opção é a que vai ajudar.