elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado:


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Comprobar que todos los elementos de un "Set" cumplan la misma condicion
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Comprobar que todos los elementos de un "Set" cumplan la misma condicion  (Leído 1,875 veces)
danixd

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Comprobar que todos los elementos de un "Set" cumplan la misma condicion
« en: 2 Enero 2015, 21:22 pm »

Hola, soy nuevo por este foro. He estado buscando por aqui para ver si habia algo parecido, pero viendo que no os expongo mi duda:

Dado un conjunto de numeros
Teniendo el conjunto:

Set<Double> numeros= new HashSet<Doube>();

Se pide que todos los numeros del conjunto tengan el mismo valor.

Lo que se me ha ocurrido es recorrer el conjunto usando un bucle de la siguiente forma:

Código
  1. for(Double num: numeros){
  2.    if((num.equals(numeros.iterator().next())==false)
  3.        throw new IllegalArgumentException("No son iguales");
  4. }

Se que el codigo funciona, pero me gustaria saber si hay alguna forma  de hacerlo sin usar iterator.

Gracias


En línea

~ Yoya ~
Wiki

Desconectado Desconectado

Mensajes: 1.125



Ver Perfil
Re: Comprobar que todos los elementos de un "Set" cumplan la misma condicion
« Respuesta #1 en: 6 Enero 2015, 17:38 pm »

La forma mas fácil, rápida y simple es verificar si el tamaño del Set que haz creado es mayor a 1, si es mayor a 1 es porque contiene elementos con valores distintos. Los Set por naturaleza no contienen valores duplicados.



También puedes utilizar el nuevo feature para trabajar con colecciones en Java 8 (Stream).

Código
  1.    public static void main(String [] args) {
  2.        Set<Double> numeros = new HashSet<Double>();
  3.        numeros.add((double)222);
  4.        numeros.add((double)223);
  5.        numeros.add((double)224);
  6.        numeros.add((double)222);
  7.        numeros.add((double)222);
  8.        System.out.println("Distintos: "+(numeros.stream().distinct().count() != 1));
  9.    }

Result:
Código:
Distintos: true
Saludos.


En línea

Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
macro que borre las lineas de excel que cumplan determinada condicion
Programación Visual Basic
skan 5 4,521 Último mensaje 30 Marzo 2009, 18:48 pm
por Novlucker
trasladar elementos de arreglos a matriz "!"!"
Programación C/C++
mapers 0 2,346 Último mensaje 5 Marzo 2011, 16:49 pm
por mapers
recursos visual basic, """"""proceso inmortal"""""
Análisis y Diseño de Malware
Dark4ngel 7 14,264 Último mensaje 3 Noviembre 2011, 10:42 am
por Dark4ngel
ayuda para una condición "IF"
PHP
lesone- 3 2,403 Último mensaje 12 Diciembre 2012, 02:07 am
por & eDu &
Eliminar lineas que no cumplan condición
Scripting
Afkael 4 3,236 Último mensaje 2 Junio 2014, 16:28 pm
por Afkael
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines