Verificar se o primeiro vetor está contido dentro do segundo

Olá, estou estudando java na faculdade e estou com um pouco de dificuldade para verificar se o vetor está contido dentro do outro vetor. Até o momento fiz esse código, se alguem puder me dar uma luz

import javax.swing.JOptionPane;

public class Exercicio2 {
public static void main(String[] args) {

	int vet1[] = new int [3];
	int vet2[] = new int [15];
	vet1 [0] = 2;vet1 [1] = 5;vet1 [2] = 7;
	String entrada;
	boolean status = true;
	
	JOptionPane.showMessageDialog(null, "Vamos entrar com os dados do vetor");
	
	for(int i = 0; i<vet2.length; i++){
		entrada = JOptionPane.showInputDialog("Insira o "+(i+1)+"º número");
		vet2[i]= Integer.parseInt(entrada);		
	}

	for(int i = 0;i<=10-1;i++){
	       if (vet2[i]!=vet1[i])
	       {
	           status = false;
	           break;
	       }
	}

	if (status)
	{
	   JOptionPane.showMessageDialog(null, "contido");
	}
	else
	{
	   JOptionPane.showMessageDialog(null, "Não contido");
	}
}

}

Para cada elemento do array que vc quer verificar se está dentro do outro, percorra esse outro buscando pelo valor que da posição do momento. Se encontrar, conte mais um. Se no final do processo o seu contador for do tamanho do primeiro array, ele está contido, caso contrário, não.

Uma forma de otimizar esse processo seria buscar uma não-ocorrência. Se ela acontecer quer dizer que ele não está contido e vc não precisa continuar as pesquisas sucessivas.

[]'s

1 curtida

Obrigado pela sua ajuda David, me deu uma grande luz. Mas somente por curiosidade poderia me falar como funciona essa não ocorrencia?

Meu codigo ficou da seguinte maneira:

import javax.swing.JOptionPane;

public class Exercicio2 {
public static void main(String[] args) {

	int vet1[] = new int [3];
	int vet2[] = new int [15];
	vet1 [0] = 2;vet1 [1] = 5;vet1 [2] = 7;
	String entrada;
	int cont = 0;
	
	JOptionPane.showMessageDialog(null, "Vamos entrar com os dados do vetor");
	
	for(int i = 0; i<vet2.length; i++){
		entrada = JOptionPane.showInputDialog("Insira o "+(i+1)+"º número");
		vet2[i]= Integer.parseInt(entrada);		
	}

	for(int i = 0; i < 15; i++){
			if (vet2[i]==vet1[0]){
				cont++;
			}
			if (vet2[i]==vet1[1]){
				cont++;
			}
			if (vet2[i]==vet1[2]){
				cont++;
			}
	}
	if (cont==3) {
		JOptionPane.showMessageDialog(null, "O vetor 2 contem o vetor 1");
	} else {
		JOptionPane.showMessageDialog(null, "O vetor 2 não possui o vetor 1");
	}

}

Em uma não ocorrencia seria colocar se por exemplo o primeiro numero do vetor não estiver contido me retorna uma variavel boolean false e assim meu programa já iria parar por ai? Obrigado pela sua ajuda!