style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-5164839828746352"
data-ad-slot="7563230308">

Encontrar posicion del array

Hola amigos! me surgio una duda , aver si podeis exarme una manita.

hAber hay algun metodo en java que en un array me dè la posicion de uno de sus componentes .

Ejmp:

// TENGO ESTE ARRAY

 
   String animales [][] ={};

     animales[0][0]="Dalmata"; // en donde el primer indice <0> correspondra a perros y el segundo a la raza .
     animales[1][22]="siames";  // en donde el primer indice<1> correspondra a gatos y ...

// Y Quiero saber si es posible dando el nombre de la raza.. poder saber sus indices ..es decir:

 //que me devuelva ----- ej: [1] al indice  ò  el [22] o [1][22] <<<--- es posible?

Un saludo compañeros! xD

Comentarios

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de neko069

Si es estrictamente con

Si es estrictamente con arreglos, vas a tener que hacer un doble ciclo, más o menos así

int x=0;
int y=0;

private void lookingForTheRaza/*eseeee*/(String aBuscar){
    for(int i=0;i<animales.length;i++){
        for(int j=0;j<animales[i].length;j++){
            if( animales[i][j].equals(aBuscar) ){
                x=i;
                y=j;
            }
        }
    }
}

Es lo primero que se me ocurre, pero puedes modificar a tu gusto ;-)

No entendí, podrías

No entendí, podrías re-formular la duda?

Te entiendo que tienes una matriz ( un arreglo de arreglos ), donde en el primer arreglo tienes razas de perros y en el segundo razas de gatos. Y luego quieres buscar una raza y que te diga de que fue?

Pon un ejemplo de lo que esperas de entrada y que es lo que esperas de salida.

También, ¿es necesario tener la información en una matriz?

Yo entiendo por ejemplo que quieres usar algo como esto:

findByBreed("siames"); // y te regrese 1,22

Si es así hay una desventaja, en Java no se pueden regresar dos valores, por lo que tendrías que crear un tipo de dato que regrese los dos valores en un objeto.

Para encontrar el valor tienes que iterar una arreglo y luego ver si en cada posicion esta lo que buscar y conservar los índices:

public Point findByBreed( String breedName ) {
    for (int i = 0 ; i < breeds.length ; i++ ) {
        for ( int j = 0 ; j < breeds[i].length ; j++ ) {
            if ( breedName.equals(breeds[i][j] ) {
                return new Point(i, j);
            }
        }
    }
    return new Point(-1, -1);
}

Algo así

Imagen de ezamudio

cadena en matriz

Finalmente lo que quieres es buscar una cadena en una matriz de cadenas (un arreglo de arreglos puede ser visto como una matriz). Y pues sí, lo único que puedes hacer es el ciclo anidado para buscar, como ya te pusieron en las respuestas previas.

Imagen de Payan

Exacto es eso! yo

Exacto es eso! yo introduciria por ejemplo .. siames..y me devuelve (1,22 )
1--> que hace referencia al tipo de animal -- en este caso gato
22--> que hace referencia al tipo de raza --en este caso siames

Pero ya te lei que no se puede salvo que sea con un objeto,pero aun asi me parece valido.

Un saludoo compañero!

Imagen de Payan

Gracias amigos por aclararme

Gracias amigos por aclararme esta duda! xD

style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-5164839828746352"
data-ad-slot="7563230308">