Compare todos los elementos entre matrices y devuelva todas las coincidencias posibles

Estoy tratando de crear una función que compare todos los elementos de una matriz con todos los elementos de una segunda matriz y devolverá todas las coincidencias posibles, y un mensaje si no se encuentran coincidencias. Cuando intento implementar el código, obtengo un índice de error vinculado. El bucle for interno probablemente se agotó antes de que el bucle for exterior pueda terminar de ejecutarse. ¿Cómo lo modifico para evitar que tal escenario ocurra?

Stocks[] stockList3 = new Stocks[3];
stockList3[0] = new Stocks("a", 2, 1, "Buy");
stockList3[1] = new Stocks("a", 3, 1, "Buy");
stockList3[2] = new Stocks("a", 4, 1, "Buy");

Stocks[] stockList4 = new Stocks[3];
stockList4[0] = new Stocks("a", 2, 1, "Buy");
stockList4[1] = new Stocks("a", 5, 1, "Buy");
stockList4[2] = new Stocks("a", 4, 1, "Buy");

public void matching(Stocks[] array1, Stocks[] array2) {
    for (int i = 0; i < array1.length; i++) {
        for (int j = 0; i < array2.length; j++) {
            if (array1[i].stockPrice == array2[j].stockPrice) {
                System.out.println("It's a match at $" + array1[i].stockPrice);
            }
            System.out.println("still searching...");
        }
        System.out.println("first loop test...");
    }
}
Respuesta 1

¿Qué pasa en lugar de dos for loops, usar la Setcolección para almacenar existió stockPricespara uno de una matriz?

public static List<Stocks> matching(Stocks[] one, Stocks[] two) {
    Set<Integer> stockPrices = Arrays.stream(one)
                                     .map(stock -> stock.stockPrice)
                                     .collect(Collectors.toSet());
    return Arrays.stream(two)
                 .filter(stock -> stockPrices.contains(stock.stockPrice))
                 .collect(Collectors.toList());
}

Utiliza memoria adicional O (n) (donde n es una longitud ) con tiempo de rendimiento O (n + m) (donde m es dos longitudes ).

Respuesta: 2

Estoy tratando de obtener campos de datos específicos de la API Java de Bloomberg. Veo en la guía de desarrolladores que puedo extraer algunos campos con: Request request = refDataSvc.createRequest ("...

Estoy escribiendo contenidos en archivo pdf. Cuando escribo letras hebreas ("שלום") Las letras no aparecen en el pdf. Por cierto, es un problema de codificación, de todos modos, ¿cómo puedo escribir hebreo en un archivo pdf?

Mi profesor me dio una tarea para ordenar libros y videos. Este es el código de prueba que me lo dio. Pero estoy realmente confundido acerca de qué biblioteca usar para la cadena de comparación. Simplemente no puedo hacerlo ...

Tengo que obtener una mayor cantidad de datos del archivo de texto, que se almacena en la memoria del dispositivo. Y necesita enviar los fragmentos de datos leídos del archivo al servidor. Como el archivo tiene una gran cantidad de datos, quiero romper el ...