Este es el Ejemplo #10 del Topic: Programación Gráfica en Java.
De las cosas que vamos a necesitar hacer a menudo será realizar búsquedas, ya sea en un arreglo, en un resultset, listas o lo que sea que almacene datos, por ello deberemos tener a lado nuestra función de búsqueda. Para realizar búsquedas existen diversos métodos, aquí solo les doy el ejemplo con el método más sencillo el cual recorre un arreglo hasta encontrar la posición del primer elemento que coincida con lo que mandamos a buscar. Como se ve, conviene que el primer parámetro sea el arreglo y el otro sea la cadena a buscar y deben retornar un entero que sea la posición encontrada.
public int getIndiceArray(String[] arr, String cad) { //Aqui pueden usar el método de búsqueda que necesiten. int index=-1; for(int i=0;i<arr.length;i++) { if(arr[i] == null ? cad == null : arr[i].equals(cad)){ index=i; break; } } return index; }
Código de Ejemplo:
package beastieux.gui; import javax.swing.JOptionPane; /** * * @author beastieux */ public class Ejm10_BuscarEnArray { public int getIndiceArray(String[] arr, String cad) { //Aqui pueden usar el método de búsqueda que necesiten. int index=-1; for(int i=0;i<arr.length;i++) { if(arr[i] == null ? cad == null : arr[i].equals(cad)){ index=i; break; } } return index; } public static void main(String args[]) { Ejm10_BuscarEnArray obj = new Ejm10_BuscarEnArray(); String[] a_ejemplo=new String[]{"uno","dos","tres"}; //Buscamos la cadena "dos", retornará su posicion en el array. int indice=obj.getIndiceArray(a_ejemplo, "dos"); JOptionPane.showMessageDialog(null, indice + " - " + a_ejemplo[indice]); } }
Pueder ir al artículo principal:
Códigos Sencillos hechos en Java
Thanks for sharing. I read many of your blog posts, cool, your blog is very good.
si tenemos un arreglo de objetos, y queremos hacer la busqueda de una parte de una cadena. por ejemplo una parte del nombre. y queremos que el metodo a final me regrese el nombre no la posicion??? y que me lo imprima
Como puedo hacer una busqueda por medio, de TextField y checkBox
Valiosísimo el aporte.
Muchas gracias.