Foro sobre Java SE > Dudas sobre el for enhanced o extendido
http://docs.oracle.com/javase/tutorial/java/nutsandbolts/for.html
Lo siento no me sirve ese es el for clásico
Creo que solo tu sabes a que te refieres con "...este for enhanced". Asi que como no te expliques....
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.
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();
}
}
}
Sirve para coger cosas de colecciones , es decir listas o conjuntos
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));
}
}
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!!