ok, ho già fatto così ma poi mi viene un arraylist di 10480 elementi VVoVe:
perchè mi vengono duplicati i valori...non capisco come mai, allora ho provato ad usare una TreeMap<key,value> dove per key ho usato l'id, ma i valori della mappa diventano 340:

codice:
private List<Record> accessRecords = new ArrayList<Record>();
private List<Record> sqlServerRecords = new ArrayList<Record>();
private List<Record> newRecords = new ArrayList<Record>();
               oppure
private Map<String, Record> newRecords = new TreeMap<String, Record>();
........
.......

public List<Record> arrayCompare(){
		for(Record ra : accessRecords){
			String accessLinguaOid = ra.getRif_lingua_oid();
			for(Record rb : sqlServerRecords){
				int compare = accessLinguaOid.compareTo(rb.getRif_lingua_oid());
				System.out.println(compare);
				if(compare != 0){
					newRecords.add(new Record(ra.getRif_lingua_oid(), ra.getRif_lingua(), ra.getData_ult_mod(), ra.getUtente_ult_mod(), ra.getPostazione_ult_mod()));
				}
			}
		}
		System.out.println("newRecords size NEW: " + newRecords.size());
		System.out.println("accessRecords size NEW: " + accessRecords.size());
		return newRecords;
	}



                oppure


public Map<String, Record> arrayCompare(){
		for(Record ra : accessRecords){
			String accessLinguaOid = ra.getRif_lingua_oid();
			for(Record rb : sqlServerRecords){
				boolean compare = accessLinguaOid.equalsIgnoreCase(rb.getRif_lingua_oid());
				System.out.println(compare);
				if(compare == false){
					newRecords.put(accessLinguaOid,new Record(ra.getRif_lingua_oid(), ra.getRif_lingua(), ra.getData_ult_mod(), ra.getUtente_ult_mod(), ra.getPostazione_ult_mod()));
				}
			}
		}
		System.out.println("newRecords size NEW: " + newRecords.size());
		System.out.println("accessRecords size NEW: " + accessRecords.size());
		return newRecords;
	}
non riesco a capire dove sta l'errore...mi sto bloccando