codice:
for(i=0;i<tmpArray.length;i++){
	    	 Msc oggetto= tmpArray[i];
	    	 String stringaI1=oggetto.getStringaI1();
	    	 String stringaI2=oggetto.getStringaI2();
	    	 int h=0;
	    	 for(i=0;i<I1.length;i++){
	    		 if(!uguali(I1[i],stringaI1))
	    			 arrayI1[h]=stringaI1;
	    		     h++;
	    	 }
Consigli? Un po' d'attenzione sui cicli...
Non puoi usare la stessa variabile per due for annidati perche'
1)perdi l'indice del for esterno
2)In casi come questo in cui il for interno termina con i che ha un valore < della guardia del for esterno, il programma va in loop.

Quella h poi non ti serve a niente, anzi fa casino. Riflettici su.