Recherche d'une expression régulière dans une java arraylist

ArrayList <String> list = new ArrayList(); 
list.add("behold");
list.add("bend");
list.add("bet");
list.add("bear");
list.add("beat");
list.add("become");
list.add("begin"); 

Il y a une façon pour la recherche de regexp bea.* et d'obtenir les indices comme dans ArrayList.indexOf ?

EDIT: le retour des articles est bien, mais j'ai besoin de quelque chose avec plus de performances qu'un Linéaire de recherche

  • Vous pouvez pas de meilleures performances si vous mettez vos chaînes dans une Liste. Est votre regex toujours un préfixe, ou voulez-vous gérer tout regex?
  • Alors lequel la structure de données dois-je utiliser? Ma regex est toujours un préfixe.
  • Je recommande certains automates structure de données. en.wikipedia.org/wiki/Trie
  • Il est fondamental que, sauf si vous savez quelque chose à propos de la commande de la liste, alors vous ne peut pas faire mieux que la recherche linéaire. C'est parce que, sans rien connaître de la commande, afin de repérer chaque élément correspondant vous devez tester chaque élément. Si vous voulez seulement le premier élément correspondant, alors la seule optimisation que vous pouvez appliquer est de tester dans un ordre qui permet de mettre fin à la première frappe( c'est à dire la première à la dernière). Si vous souhaitez sous-linéaire de la performance que vous avez à nous dire comment vos éléments sont ordonnés
InformationsquelleAutor kmilo | 2008-11-20