Java - Comparar dos arreglos y mostrar los elementos en comun

 
Vista:
sin imagen de perfil
Val: 16
Ha aumentado 1 puesto en Java (en relación al último mes)
Gráfica de Java

Comparar dos arreglos y mostrar los elementos en comun

Publicado por Luu (3 intervenciones) el 24/05/2020 03:41:02
Que tal compañeros tengo una practica la cual es comparar dos arreglos, cualquiera de tipo entero ahora lo que sigues es comparar estos dos arreglos pero mostrar solo lo elementos que se repiten, también hay que tener en cuenta la longitud de cada arreglo porque uno pude tener mas elementos que el otro. gracias les dejo una idea de lo que intente expresar.
int[ ] a = {1,6.5,8}
int[ ] b = {1,5,15,12,2}

Mensaje en pantalla los numeros comunes son: 1 , 5 <-- Estos serian solo por asi decir es un ejemplo!!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Kabuto
Val: 3.428
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Comparar dos arreglos y mostrar los elementos en comun

Publicado por Kabuto (1381 intervenciones) el 24/05/2020 12:25:52
Has de seleccionar un arreglo y con un bucle (que se repita según el tamaño de este arreglo) recorrer sus elementos.
Por cada elemento de este primer arreglo, inicias un segundo bucle anidado que recorrerá el segundo arreglo (el bucle ha de ser acorde al tamaño de este) para comparar el elemento escogido en el primer arreglo, con TODOS los elementos del segundo arreglo.

Si se encuentra una coincidencia, imprimes el elemento en pantalla y se puede dar por finalizado el bucle anidado, no es necesario que siga comparando.

Si no hay coincidencia, no se hace nada. El bucle anidado termina y el bucle principal pasa al siguiente elemento del primer arreglo, para repetir el mismo proceso.

Si los arreglos son de distinto tamaño, en realidad, es irrelevante para el resultado final.
Pero, por optimización del proceso, puede convenir escoger el más pequeño como bucle de referencia para comparar.

En este ejemplo, uno es de 4 y el otro es de 5 elementos, así que la diferencia es mínima. Pero si la diferencia entre arreglos fuese mayor, usando el arreglo pequeño como referencia lograríamos el mismo resultado con menos ciclos de comparaciones que si escogiésemos el mayor.

Pero en fin, lo importante es que consigas crear los bucles anidados y comparar convenientemente los elementos de los arreglos.

Inténtalo, empieza un código y no importa si lo terminas o no funciona.
Comparte por aquí lo que consigas y te ayudamos a completarlo, corregirlo o lo que sea necesario.

Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Sandro
Val: 392
Bronce
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Comparar dos arreglos y mostrar los elementos en comun

Publicado por Sandro (166 intervenciones) el 24/05/2020 23:45:33
1
2
3
4
5
6
7
8
9
10
int long1_=array_1.length;
int long2=array_2.length;
 
for(int i=0;i<long1;i++){
   for(int j=0;j<long2;j++){
     if ( array_1  [ i ] == array_2 ){
        system.out.printlntln("oh sorpresa son iguales en este campo " + array_1 [ i ] + " en la posicion en el arreglo 1: " + i + " y en el arreglo 2 en esta:" + j  );
     }
   }
}

ya esta resuelto

saludos, hay que pensar tantito
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 16
Ha aumentado 1 puesto en Java (en relación al último mes)
Gráfica de Java

Comparar dos arreglos y mostrar los elementos en comun

Publicado por Luu (3 intervenciones) el 25/05/2020 18:40:15
me ayudo de hecho quedo de la siguiente forma hacer un método que reciba dos arreglos y compare los números repetidos
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
public class CompararArreglos {
 
    public static void main(String[] args) {
 
        int [] a = {1,2,3,4,5,11,8};
        int [] b = {3,4,5,6,8,12};
       CompararArreglos comparar = new CompararArreglos();
 
       comparar.Comparar(a,b);
 
    }
 
    public void Comparar(int [] x, int [] y){
 
        System.out.println("Los numeros repetidos en los Arreglos ");
 
       for(int a: x){
           for(int b : y ){
               if(a == b){
                   System.out.print("["+a+"]");
               }
           }
       }
    }
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Lisa
Val: 172
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Comparar dos arreglos y mostrar los elementos en comun

Publicado por Lisa (34 intervenciones) el 25/05/2020 01:28:59
Con esta solución espero que no me hundan en negativos
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
int[] a = {1, 6, 5, 8};
int[] b = {1, 5, 15, 12, 2};
String s = "";
 
for (int i = 0; i < a.length; i++) {
    for (int j = 0; j < b.length; j++) {
        if (a[i] == b[j]) {
            if(!s.isEmpty()){
                s += ", ";
            }
            s += b[j];
            break;
        }
    }
}
System.out.println(s + " <--Estos serian solo por asi decir es un ejemplo!!!");

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Comparar dos arreglos y mostrar los elementos en comun

Publicado por Eulice (1 intervención) el 25/05/2020 01:41:50
Comparando dos arrays int y string


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
package com.arreglo.basico;
 
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
 
/**
 * @author uelice
 *
 */
public class Arreglos {
 
	/**
	 * @param args
	 */
	public static void main(String... args) {
		// Comparando dos array de enteros
		// Obtenemos los elementos distintos del array a y lo comparamos con el array b
		int[] a = { 1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 20, 50, 60, 70 };
		int[] b = { 9, 8, 7, 6, 5, 4, 3, 2, 1, 10, 13, 14, 15, 20 };
		// Covertimos el array (a) a una lista
		var listaA = Arrays.stream(a).boxed().collect(Collectors.toList());
		// Covertimos el array (b) a una lista
		var listaB = Arrays.stream(b).boxed().collect(Collectors.toList());
		var listaC = listaA.stream().filter(item -> !listaB.contains(item)).collect(Collectors.toList());
		//Lista de elementos comunes
		var listaD = listaA.stream().filter(listaB::contains).collect(Collectors.toList());
		// Se imprime el resultado de elementos distintos
		System.out.println(listaC);
		// Se imprime el resultado de elementos comunes
		System.out.println(listaD);
		// Comparando Strings en dos listas
		// Obtenemos los elementos distintos del array aa y lo comparamos con el array
		// bb
		String[] aa = { "Blanco", "Negro", "Rojo", "Azul", "Amarillo", "Verde", "Morado" };
		String[] bb = { "Blanco", "Negro", "Rojo", "Azul", "Amarillo" };
		// Covertimos el array (aa) a una lista
		var listaAA = List.of(aa);
		// Covertimos el array (bb) a una lista
		var listaBB = List.of(bb);
 		//Encontramos los elementos distintos
		var listaCC = listaAA.stream().filter(item -> !listaBB.contains(item)).collect(Collectors.toList());
		//Encontramos los elementos comunes
		var listaDD = listaAA.stream().filter(listaBB::contains).collect(Collectors.toList());
		// Se imprime el resultado de elementos distintos
		System.out.println(listaCC);
		// Se imprime el resultado de elementos comunes
		System.out.println(listaDD);
	}
 
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar