Como comparar dados com arraylist?

8 respostas
S

E aí galera beleza?

Talvez o titulo não tenha sido a mais feliz, mas a duvida é a seguinte: TEnho um arraylist com o resultado de um select. Quando o usuario envia uma string tenho que verificar se esta string existe no arraylist e pegar o indice nela. Aguém sabe como fazer isso?

Desde já agradeço!

8 Respostas

J

Vc pode usar o método indexOf(Object)

blz?

S

E aí galera, beleza?

Consegui usar o indexof(). Agora gostaria de saber se é possivel fazer o seguinte:

Tenho um arraylist com 3 nomes(Strings): josé, joão e maria,
Gostaria de fazer uma busca e pegar todos os nomes que inciam com jo, ou ma, ou j.

Beleza? Espero ter sido claro.

Desde já agradeço!

M
ArrayList list = new ArrayList();
		
list.add( new String( "joao" ) );
list.add( new String( "matheus" ) );
list.add( new String( "java" ) );

for ( int i = 0; i < list.size(); i++ )
   if ( ( ( (String)( list.get(i) ) ).startsWith( "jo" ) || 
      ( (String)( list.get(i) ) ).startsWith( "ma" )) ||
      ( (String)( list.get(i) ) ).startsWith( "j" ) )
         // faça alguma coisa

o if ficou meio complicado, mas lê devagar q da pra entender.. hehehehe

D

só uma sugestão:

naum era mais facil fazer essas restricoes no SELECT!?!?

foi só uma idéia…

S

è que criei uma classe pra cada tabela no bano e coloquei todos os dados em arraylists poara evitar me conectar toda hora na base de dados. E fazendo desta forma, a tentação de fazer os controllers se conectarem a base de dados acaba!!!

Obrigado pela ajuda!
:grin:

S

No código abaixo no metodo que retorna o array list titulo, perceba que dentro do for consigo imprimir todas as incidências das palavras que procuro mas na hora de inserir no arraylist titulo dá um nullpointerexception. Extranho porque se eu consigo imprimir as ocorrências é porque não é nulo. :pensativo: Desculpe prolomgar esta thread mas é que não consigo entender.

public ArrayList Retornatitulo(String titulo){    	
		for (int i=0 ;i < indice; i++ ){
			try{
				if(lista.getTitulo().get(i).toString().startsWith(titulo/*request.getParameter("txtTitulo")*/)== true){
					System.out.println(lista.getTitulo().get(i).toString());
					this.titulos.add(lista.getTitulo().get(i).toString());
				}
			}
			catch(NullPointerException e){
				System.out.println("///////////////////////////////////");
				System.out.println("A classe que gerou o erro: "+this.getClass()+", O erro foi: "+e+", "+i);
				System.out.println("///////////////////////////////////");
			}
		}
    	return this.titulos;
    }

public int teste(){
		return this.indice;
	}

public static void main(String args[]){
		ServletBuscaFilme teste = new ServletBuscaFilme();
		System.out.println("ESte é o tamnaho do arraylist: "+teste.teste());
				System.out.println("Estes são os titulos: "+teste.Retornatitulo("f"));
		
	}
J

O atributo titulos foi instânciado? Deve ser por isso o NullPointerException…
:wink:

S

Realmente, esqueci de instanciar o titulos. :oops:

Desde já agradeço!

Criado 28 de junho de 2004
Ultima resposta 3 de jul. de 2004
Respostas 8
Participantes 4