• Domingo 28 de Abril de 2024, 12:00

Autor Tema:  IndexOf  (Leído 1277 veces)

TinoSC

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
IndexOf
« en: Miércoles 25 de Marzo de 2009, 13:13 »
0
Hola buenas, hasta ahora yo había programado en VB .NET, y para obtener el indice de un elemento de un array, utilizaba:
Código: vb.net
  1. Indice = nombreArray.IndexOf(nombreArray, valor)
  2.  

Y buscando lo mismo para Java he encontrado que tengo 2 opciones:
Código: Java
  1. int[] nombreArray;
  2. Indice = Arrays.asList(nombreArray).indexOf(valor);
  3.  
  4. // O bien declarar directamente como ArrayList, que ya tiene el método IndexOf:
  5. ArrayList nombreArray = new ArrayList();
  6.  

Lo que pasa es que esto de las listas es algo nuevo para mi.
Para mi caso me interesaría la opción mas rápida para acceder a los elementos del array, ya que tengo unos bucles que lo hacen mucho. Que opción me recomendais?

TinoSC

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Re: IndexOf
« Respuesta #1 en: Jueves 26 de Marzo de 2009, 11:18 »
0
No sé por que la opción
Código: Java
  1. Indice = Arrays.asList(nombreArray).indexOf(valor);
  2.  
no logro que funcione, así que no me ha quedado más remedio que utilizar:
Código: Java
  1. public int ObtenerIndice(int valor) {
  2.    for (int i = 0; i < nombre.lenght; i++) {
  3.        if (nombre[i] == valor) {
  4.          return(i);
  5.        }
  6.    }
  7.   return(-1);
  8. }
  9.  

silverfox

  • Miembro MUY activo
  • ***
  • Mensajes: 280
    • Ver Perfil
Re: IndexOf
« Respuesta #2 en: Lunes 30 de Marzo de 2009, 11:18 »
0
Hola.

El código que proponías funciona perfectamente:

Código: Text
  1.  
  2. import java.util.Arrays;
  3.  
  4. public class TestArrays {
  5.    
  6.     public static void main (String[] args){
  7.        
  8.         String s1 = new String ("cadena1");
  9.         String s2 = new String ("cadena2");
  10.    
  11.         String[] array= {s1, s2};
  12.        
  13.         int i= Arrays.asList(array).indexOf(s2);
  14.         System.out.println(i);
  15.     }
  16. }
  17.  
  18.  

Este código está funcionando perfectamente.
Por favor, indica qué es lo que estás tratando de hacer y cuál es el resultado que te estaba dando para hacer el cambio en tu código.

Un saludo.


Silverfox