Erro nesse metodo?

  public List difListas(List list1, List list2) {
       
        int pos = 0; 
        
        List listDif = new ArrayList();
        
        for (int i = 0; i < list1.size(); i++){
            
            if (list1.get(pos) != list2.get(i)){
                
               
                if (i == list1.size()){
                    
                    i = 0;
                    
                    listDif.add(list1.get(pos));
                    pos++;
                }
               
            }if (list1.get(pos) == list2.get(i)){
            
            pos++;
            i = 0;    
        }
        
   }    

        return listDif.subList(0,listDif.size());

    }

Com ele eu quero saber os elementos que tem na lista 1 e naum tem na 2, mais ele esta retornando nada. na hora de rodar fik a tela em branco

na hora de chamar eu instaciei uma terceira lista lista3 = new Arraylist…
Só que ela ta vindo com tamanho 0 e na minha lista tem 3 numeros q naum contem na outra