Devo fare una procedura che controlla se in una lista di numeri ci sono dei buchi oppure no.
Il problema è che ci possono essere anche dei valori ripetuti nella lista, quindi in questo caso non saprei come fare.
Il seguente codice scandisce i numeri e li stampa se non sono progressivi:
codice:
      DocumentoVenditaTes ddt = (DocumentoVenditaTes) Factory.createObject(DocumentoVenditaTes.class, app);
      String orderBy = SQLHelpler.compressKey(new String[]{"numeroDDTCliente"});
      NavigableList nav = ddt.read(orderBy);
      // Numero DDT
      NumericLTBL numeroDDT = new NumericLTBL(ddt.getNumeroDDTCliente().getCName(), ddt.getNumeroDDTCliente().getAName());
      NumericLTBL cont = new NumericLTBL(ddt.getNumeroDDTCliente().getCName(), ddt.getNumeroDDTCliente().getAName());
      cont.setFormatted("0");
      NumericLTBL uno = new NumericLTBL(ddt.getNumeroDDTCliente().getCName(), ddt.getNumeroDDTCliente().getAName());
      uno.setFormatted("1");
      
      while (nav.hasNextElement()) {
      	ddt = (DocumentoVenditaTes) nav.nextElement();
      	if(!ddt.getNumeroDDTCliente().getFormatted().equals(ddt.getNumeroDDTCliente().getNullValue())){
      		numeroDDT.setFormatted(ddt.getNumeroDDTCliente().getFormatted());
      		cont.add(uno);
      		if(!numeroDDT.getFormatted().equals(cont.getFormatted())){
      			System.out.println(ddt);
      		}   		
      	}    	
      }
In questo modo però al primo buco stamperà tutti gli altri numeri perchè non sono più "allineati". Mentre io vorrei stampare sono i buchi: come potrei sistemare il codice?