Buscar
Social
Ofertas laborales ES

Foro sobre Java SE > Dudas sobre el for enhanced o extendido

Hola chicos , soy estudiante de 1o de i.informatica , y tengo serias dudas acerca de las funciones que tiene este for enhanced , tienes funciones como contador , buscar en una colección , un máximo , etc.
Toda ayuda por aqui sería buena para intentar resolver mis dudas de como hacer ese tipo!

Saludos y gracias!!

enero 20, 2015 | Registered Commenterdionigc

http://docs.oracle.com/javase/tutorial/java/nutsandbolts/for.html

enero 21, 2015 | Registered Commenterchoces

Lo siento no me sirve ese es el for clásico

enero 21, 2015 | Unregistered CommenterDionigc

Creo que solo tu sabes a que te refieres con "...este for enhanced". Asi que como no te expliques....

enero 21, 2015 | Unregistered CommenterUnoPorAhi

Creo que no lo has leído bien, porque en ese enlace se lee lo que sigue:

"The for statement also has another form designed for iteration through Collections and arrays This form is sometimes referred to as the enhanced for statement"

Probablemente te refieras a otra cosa, y lo llamas "for enhanced" equivocadamente.
Es más fácil que pongas ejemplos de lo que quieres lograr.

enero 21, 2015 | Registered Commenterchoces

un ejemplo de ello sería esto :

private void checkCreditosAsignaturaOptativa() {
List<Asignatura> asig = new ArrayList<Asignatura>();

asig.addAll(optativas);

for(Asignatura a : optativas) {
if(!(asig.get(0).getCreditos() == a.getCreditos())) {
throw new ExcepcionGradoNoValido();
}
}
}

enero 21, 2015 | Unregistered CommenterDionigc

Sirve para coger cosas de colecciones , es decir listas o conjuntos

enero 21, 2015 | Unregistered CommenterDionigc

Los for, enhanced o no, sirven para recorrer los elementos de una lista o array.

public class NewMain {

public static void main(String[] args) {

List<Integer> lista = new ArrayList<>();
lista.add(10);
lista.add(20);
lista.add(30);
lista.add(40);
lista.add(50);

for (Iterator<Integer> it = lista.iterator(); it.hasNext();) {
Integer valor = it.next();
if (valor < 30) {
System.out.println("valor: " + valor);
}
}

// enhanced for, que el compilador convierte en lo mismo de más arriba
for (Integer valor : lista) {
if (valor < 30) {
System.out.println("valor: " + valor);
}
}

// JavaSE 1.8
lista.stream().filter((Integer valor) -> valor < 30).forEach((Integer valor) -> System.out.println("valor: " + valor));
}

}

enero 21, 2015 | Registered Commenterchoces