Como verificar se um char está dentro de um array de char de modo eficaz?

Olá pessoal,

Então, eu sei como verificar se um char está dentro de um array de char pelo processo mais conhecido que seria criar um for ou um while e iterar no array de 0 a N… mas eu fiquei em dúvida se existe algum metodo mais eficaz… tipo um .equals() para um array, algo tipo um .contains() *rs…
acho que eu to falando besteira, mas não custa tirar essa dúvida *rs!

outra coisa boba que tbm to com dúvida é se tem algum modo mais simples de transformar um char em upcase sem ter que importar o java.lang.Character e usar o metodo stático dele?

aproveitando, (desculpem se eu tiver abusando…) tenho outra dúvida também referente a char. Existe algo no java semelhante ao READKEY ou o KEYPRESSED do pascal? (até hj ainda não sei a diferença entre o readkey e o keypressed *rs)!

é “só” isso *rs, value e um forte abraço.

Para verificar se um elemento existe dentro de um vetor, há basicamente duas maneiras:

  1. Fazer como você disse, isso é, busca linear
  2. Se seu array não mudar muito, mantê-lo ordenado e executar busca binária

Para alterar de maiúscula para minúscula acredito que o jeito mais simples seja mesmo como você disse, pelo menos para caracteres isoloados. A classe String possui um método que já faz isso para todos os caracteres que a compõe.

Mas ainda assim se você quiser, pode utilizar os valores da tabela ASCII para seus chars, assim:

  1. o código decimal para o ‘a’ minúsculo é 97
  2. o código decimal para o ‘A’ maiúsculo é 65
  3. a diferença entre eles é 32.
  4. faça um laço para percorrer seu array e se quiser passar de maiúsculo para minúsculo, faça um cast para inteiro e some 32
  5. se quiser de minúsculo para maiúsculo, faça o cast para inteiro e subtraia 32.

tiagomac,

dá uma olhada nessa API do projeto jakarta.

http://jakarta.apache.org/commons/lang/

Ela é uma extensão do java.lang.

A documentação de encontra nesse link abaixo:

http://jakarta.apache.org/commons/lang/api-release/index.html

Obrigado Petrônica e cassio.
fiz uns testes com o Lang do projeto jakarta, achei muito bom :)!
vlw mesmo, forte abraço :)!