Desenvolvi um pequeno código com intuito de comparar os valores armazenados em 2 vetores VetorA[ 0,7,1,2 ], VetorB[ 6,1,8 ] da seguinte forma: para cada valor contido no VetorB deve-se descobrir quantos valores do VetorA são menores ou iguais ao valor do VetorB q esta sendo comparado no momento e em seguida salvar o resultado final da comparação em um 3º vetor.
Exemplo da comparação VetorA[ 0,7,1,2 ], VetorB[ 6,1,8 ]:
Iniciando a comparação com valor 6 do VetorB:
0<=6? Verdadeiro
7<=6? Falso
1<=6? Verdadeiro
2<=6? Verdadeiro
Logo a resposta para primeira comparação seria o valor 3 por termos obtido 3 verdades.
Iniciando a comparação com valor 1 do VetorB:
0<=1? Verdadeiro
7<=1? Falso
1<=1? Verdadeiro
2<=1? Falso
Logo a resposta para segunda comparação seria o valor 2 por termos obtido 2 verdades.
Iniciando a comparação com valor 8 do VetorB:
0<=8? Verdadeiro
7<=8? Verdadeiro
1<=8? Verdadeiro
2<=8? Verdadeiro
Logo a resposta para segunda comparação seria o valor 4 por termos obtido 4 verdades.
Depois de realizar todas as comparações eu teria uma resposta final armazenada em um novo vetor com os seguintes valores - VetorC[ 3,2,4 ].
O meu problema é o seguinte. Eu consegui fazer o código utilizando 2 vetores e uma lista para armazenar o resultado final, porem estou com dúvidas se é possível resolver este mesmo problema utilizando 3 vetores. Também gostaria de saber se existe um jeito melhor para resolver este problema. Segue abaixo meu código:
public class Program {
public static void main(String[] args) {
int[] a = new int[]{0,7,1,2};
int[] b = new int[]{6,1,8};
List<Integer> lista = new ArrayList<>();
int contador = 0;
for(int i = 0; i < b.length; i++) {
for(int j = 0; j < a.length; j++) {
if(a[j] <= b[i]) {
contador += 1;
}
}
lista.add(contador);
contador = 0;
}
for(int n : lista) {
System.out.println(n);
}
}
}