src/DataStructure/Utility.java
public static float distanzaInterventiPerSquadra(int[] listaInterventi,String idSquadra){
		
		float distanzaTotale=0;
		
		String idImpiantoAttuale = idSedediPartenza;
		String idImpiantoSuccessivo;
		
		
		//Calcolo la distanza totale per visitare tutti gli impianti della lista di interventi
		for(int i=0;i<listaInterventi.length;i++){
			//CONTROLLARE QUESTA ISTRUZIONE
			int indice = listaInterventi[i]-1; //Controllare
					
			idImpiantoSuccessivo = interventi.get(indice).getIdImpianto();
					
			if(! (idImpiantoAttuale.equals(idImpiantoSuccessivo)) ){
				//AGGIORNO LA DISTANZA TOTALE PERCORSA
						
				distanzaTotale+=getDistanzaSpostamentiImpinatiHash(idImpiantoAttuale, idImpiantoSuccessivo);
						
					
				//IMPOSTO AGGIORNO L'IMPIANTO ATTUALE
				idImpiantoAttuale = idImpiantoSuccessivo;
			}	
		}
		//AGGIUNGO ALLA DISTANZA PERCORSA IL RITORNO ALLA SEDE DI PARTENZA
		//SE NON SONO GIA' NELLA SEDE DI PARTENZA
		if(! (idImpiantoAttuale.equals(idSedediPartenza)) ){
			distanzaTotale+=getDistanzaSpostamentiImpinatiHash(idImpiantoAttuale, idSedediPartenza);
		}
		
		return distanzaTotale;
		
	}
/**
	 * Metodo per la determinazione della distanza CONSIDERANDO l'ordine di esecuzione di una lista di interventi 
	 * affidati a una squadra
	 * 
	 * @param listaInterventi array di interi rappresentati gli id degli interventi
	 * @param idSquadra String rappresentante l'id della squadra
	 * @return distanza di esecuzione
	 */
Metodo per la determinazione della distanza CONSIDERANDO l'ordine di esecuzione di una lista di interventi
affidati a una squadra

@param listaInterventi array di interi rappresentati gli id degli interventi
@param idSquadra String rappresentante l'id della squadra
@return distanza di esecuzione
Metodo per la determinazione della distanza CONSIDERANDO l ' ordine di esecuzione di una lista di interventi affidati a una squadra @param listaInterventi array di interi rappresentati gli id degli interventi @param idSquadra String rappresentante l ' id della squadra @return distanza di esecuzione
public static float distanzaInterventiPerSquadra(int[] listaInterventi,String idSquadra){
		float distanzaTotale=0;
		String idImpiantoAttuale = idSedediPartenza;
		String idImpiantoSuccessivo;
		for(int i=0;i<listaInterventi.length;i++){
			int indice = listaInterventi[i]-1; 
			idImpiantoSuccessivo = interventi.get(indice).getIdImpianto();
			if(! (idImpiantoAttuale.equals(idImpiantoSuccessivo)) ){
				distanzaTotale+=getDistanzaSpostamentiImpinatiHash(idImpiantoAttuale, idImpiantoSuccessivo);
				idImpiantoAttuale = idImpiantoSuccessivo;
			}	
		}
		if(! (idImpiantoAttuale.equals(idSedediPartenza)) ){
			distanzaTotale+=getDistanzaSpostamentiImpinatiHash(idImpiantoAttuale, idSedediPartenza);
		}
		return distanzaTotale;
	}
public static float distanzaInterventiPerSquadra ( int [ ] listaInterventi , String idSquadra ) { float distanzaTotale = 0 ; String idImpiantoAttuale = idSedediPartenza ; String idImpiantoSuccessivo ; for ( int i = 0 ; i < listaInterventi . length ; i ++ ) { int indice = listaInterventi [ i ] - 1 ; idImpiantoSuccessivo = interventi . get ( indice ) . getIdImpianto ( ) ; if ( ! ( idImpiantoAttuale . equals ( idImpiantoSuccessivo ) ) ) { distanzaTotale += getDistanzaSpostamentiImpinatiHash ( idImpiantoAttuale , idImpiantoSuccessivo ) ; idImpiantoAttuale = idImpiantoSuccessivo ; } } if ( ! ( idImpiantoAttuale . equals ( idSedediPartenza ) ) ) { distanzaTotale += getDistanzaSpostamentiImpinatiHash ( idImpiantoAttuale , idSedediPartenza ) ; } return distanzaTotale ; }
Metodo per la determinazione della distanza CONSIDERANDO l'ordine di esecuzione di una lista di interventi
 affidati a una squadra
Metodo per la determinazione della distanza CONSIDERANDO l ' ordine di esecuzione di una lista di interventi affidati a una squadra
//Calcolo la distanza totale per visitare tutti gli impianti della lista di interventi //CONTROLLARE QUESTA ISTRUZIONE //Controllare //AGGIORNO LA DISTANZA TOTALE PERCORSA //IMPOSTO AGGIORNO L'IMPIANTO ATTUALE //AGGIUNGO ALLA DISTANZA PERCORSA IL RITORNO ALLA SEDE DI PARTENZA //SE NON SONO GIA' NELLA SEDE DI PARTENZA