Ho implementato un grafo tramite la sua matrice di adiacenza e un vettore con i nomi dei nodi in questo modo:

codice:
public class Grafo {

    public double [][] matrice = new double[0][0]; // è la matrice di adiacenza del nodo
    public String [] nodi = new String[0]; // è il vettoe con i nomi dei nodi del grafo
    

    /**
     * Costruisce un grafo rappresentato da una matrice che contine
     * matrice di adiacenza e nell'ultima colonna i nomi dei ndi
     * @param matrice_adiacenza matrice di adiacenza del grafo
     * @param nomi vettore con i nomi dei nodi del grafo
     */
    public Grafo(double [][] matrice_adiacenza, String[] nomi)
    {
        matrice = matrice_adiacenza;
        nodi=nomi;
    }

}
devo realizzare un metodo che dato il nome del nodo del grafo mi restituisca l'indice corrispondente in modo da sapere quale colonna prendere.
Consultando la documentazione ho elaborato questi due metodi ma entrambi non funzionano, o entra dentro il ciclo while oppure se ci entra mi da overflow del vettore

METODO1
codice:
    /**
     * Restituisce l'indice del nodo cercato 
     * @param nodo di cui vogliamo sapere l'indice
     * @return posizione (indice) del nodo nel vettore
     */
    public int getInt(String nodo)
    {        
        int posizione=0;
        int flag = nodo.compareTo(nodi[posizione]);
        while(flag != 0) //ricerco la posizione "numerica" nel vettore dei nodi
        {
            posizione++;
            flag = nodo.compareTo(nodi[posizione]);
        }
        return posizione;
    }
METODO2
codice:
    /**
     * Restituisce l'indice del nodo cercato 
     * @param nodo di cui vogliamo sapere l'indice
     * @return posizione (indice) del nodo nel vettore
     */
    public int getInt(String nodo)
    {        
        int posizione=0;
        while(!nodi[posizione].equals(nodo)) //ricerco la posizione "numerica" nel vettore 
                 posizione++;
        return posizione;
    }
no so come fare ed è un metodo a cui non posso rinunciare...
Aspetto vostri consigli/correzioni e vi ringrazio in anticipo