Qué significa este operador dos puntos

Iniciado por moguri, 16 Septiembre 2012, 01:20 AM

0 Miembros y 1 Visitante están viendo este tema.

moguri

Hola, mi consulta es sobre un código que mandó mi profesor de estructuras de datos, en el cual hay un operador dos puntos que no sé qué significa. Conozco lo típico de x?y:z, pero esto no se le parece.
Acá dejo el código completo. En particular es el ejemplo dos (al final):
http://educnet.decom-uv.cl:8080/educnet/uploads/iterador-de-lista-enlazada.pdf?nombre=p861/iterador-de-lista-enlazada.pdf

Acá dejo el código sólo:
List<Game> list = new List<Game>();
for (Game g : list) { 
       System.out.println(g.getName()); 
}

s00rk

Es un for each.
No sabria explicartelo exactamente, pero en si se utiliza en los for para recorrer listas, arreglos y cosas asi, en este caso quiere decir que recorrera todos los elementos de la variable list, que son de tipo Game, y en cada iteracion el valor de ese elemento de tipo Game sera colocado en la variable indicada en este caso la g, como ahi lo dice Game g

Es lo mismo como para un arreglo de String
Sreing [] arreglo = {"1", "2", "3", "4"};
for(String s : arreglo)
{
    System.out.println(s);
}

ahi con eso recorrera cada elemento del arreglo llamado arreglo (xD) y pues en cada iteracion el valor se ira colocando en la variable s, y luego la imprimimos.

Espero no haberte confundido mas hehe y aver ayudado algo xP

moguri

gracias, ahora entiendo. O sea que java tiene la interface de iterator, y ese operador (dos puntos) reconoce si es un arreglo, o iteración y lo itera automáticamente.... interesante.
una pregunta: Según la documentación de java, la interface "Iterator" es parte del paquete java.util, por lo tanto para usarla sin poner el paquete completo tengo que importarlo no? Gracias :D

Proteus1989

El import es solo para implementar el Iterator, si quieres usarlo no es necesario importar nada
Saludos

Valkyr

Cita de: Proteus1989 en 16 Septiembre 2012, 15:53 PM
El import es solo para implementar el Iterator, si quieres usarlo no es necesario importar nada
Saludos

¿Sólo para implementarlo? Querrás decir que tendría que importar la clase Iterator si quisiese hacer uso de ella de forma explícita en el código.

Saludos.

Proteus1989

Cita de: Valkyr en 18 Septiembre 2012, 23:55 PM
¿Sólo para implementarlo? Querrás decir que tendría que importar la clase Iterator si quisiese hacer uso de ella de forma explícita en el código.

Saludos.

No me refería a una implementación de la clase Iterator, sino a implemetar algo que use la clase/objeto Iterator.
Pero si quiere usar solo el operador : no es necesario importar nada.

Puede que no me expresase bien en un principio.