Foros del Web » Programación para mayores de 30 ;) » Java »

¿Como comparar arreglos?

Estas en el tema de ¿Como comparar arreglos? en el foro de Java en Foros del Web. Hola a todos y todas!!!! Necesito un metodo para comparar si dos arreglos int son iguales sin importar el orden que que estan almacenados los ...
  #1 (permalink)  
Antiguo 31/10/2006, 12:08
 
Fecha de Ingreso: octubre-2006
Mensajes: 4
Antigüedad: 17 años, 6 meses
Puntos: 0
Pregunta ¿Como comparar arreglos?

Hola a todos y todas!!!!

Necesito un metodo para comparar si dos arreglos int son iguales sin importar el orden que que estan almacenados los elementos en ellos...

Les agradeceria mucho su ayuda!!!!...
  #2 (permalink)  
Antiguo 31/10/2006, 14:01
Avatar de Tipdar  
Fecha de Ingreso: octubre-2005
Ubicación: Aquí y allá.
Mensajes: 323
Antigüedad: 18 años, 6 meses
Puntos: 7
No creo que la SDK tenga un método tan específico como el que necesitas, tendrías que programarlo.
__________________
El último TipdaR
  #3 (permalink)  
Antiguo 31/10/2006, 15:15
 
Fecha de Ingreso: octubre-2006
Mensajes: 4
Antigüedad: 17 años, 6 meses
Puntos: 0
Sonrisa

gracias por tu ayuda
  #4 (permalink)  
Antiguo 31/10/2006, 15:37
Avatar de locoporelrojo  
Fecha de Ingreso: abril-2006
Ubicación: Cali - Colombia
Mensajes: 98
Antigüedad: 18 años
Puntos: 2
Cita:
Iniciado por magalocr Ver Mensaje
Hola a todos y todas!!!!

Necesito un metodo para comparar si dos arreglos int son iguales sin importar el orden que que estan almacenados los elementos en ellos...

Les agradeceria mucho su ayuda!!!!...
Creo q para hacer eso, tienes q implementar tu propio algoritmo de comparacion.
  #5 (permalink)  
Antiguo 31/10/2006, 15:42
 
Fecha de Ingreso: octubre-2006
Mensajes: 4
Antigüedad: 17 años, 6 meses
Puntos: 0
Ok gracias
  #6 (permalink)  
Antiguo 31/10/2006, 21:46
Avatar de Tipdar  
Fecha de Ingreso: octubre-2005
Ubicación: Aquí y allá.
Mensajes: 323
Antigüedad: 18 años, 6 meses
Puntos: 7
Así de golpe se me ha ocurrido un algoritmo que te podría servir, pero no creo que sea el más óptimo.

Te transcribo la clase:

Código PHP:

import java
.util.ArrayList;
import java.util.List;

public class 
Clase {
    private static List<
Integerconvertir(int[] arreglo) {
        List<
Integerlista = new ArrayList<Integer>();
        for (
int i 0arreglo.lengthi++)
            
lista.add(new Integer(arreglo[i]));
        return 
lista;
    }

    public static 
boolean compara(int[] arreglo1int[] arreglo2) {
        List<
Integerlista1 = new ArrayList<Integer>(convertir(arreglo1));
        List<
Integerlista2 = new ArrayList<Integer>(convertir(arreglo2));

        return (
lista2.containsAll(lista1) && lista1.containsAll(lista2));
    }

    public static 
void main(String[] args) {
        
int[] = new int[] { 1234};
        
int[] = new int[] { 3215};
        
System.out.println(compara(ab));
    }


La he desarrollado con la SDK 1.5 de Sun. Para versiones anteriores solo tendrías que quitar la generalización <Integer>. Como te podrás dar cuenta, eso se aleja un poco, por no decir que completamente, del modelo orientado a objetos. Espero que te sirva y si lo optimizas, pues hazmelo saber. :)
__________________
El último TipdaR

Última edición por Tipdar; 31/10/2006 a las 21:52
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:24.