Foro de elhacker.net

Programación => Java => Mensaje iniciado por: moguri en 16 Septiembre 2012, 01:20 am



Título: Qué significa este operador dos puntos
Publicado por: moguri en 16 Septiembre 2012, 01:20 am
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:
Código:
List<Game> list = new List<Game>();
for (Game g : list) { 
       System.out.println(g.getName()); 
}


Título: Re: Qué significa este operador dos puntos
Publicado por: s00rk en 16 Septiembre 2012, 04:05 am
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


Título: Re: Qué significa este operador dos puntos
Publicado por: moguri en 16 Septiembre 2012, 04:45 am
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


Título: Re: Qué significa este operador dos puntos
Publicado por: 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


Título: Re: Qué significa este operador dos puntos
Publicado por: Valkyr en 18 Septiembre 2012, 23:55 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.


Título: Re: Qué significa este operador dos puntos
Publicado por: Proteus1989 en 20 Septiembre 2012, 02:33 am
¿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.