正規表現を使用してセット内の文字列を検索する方法はありますか?例えば
私は.. AABなど、
をハッシュセットにAAA * Bを検索したい、と結果AAAABを期待してそのようなこと何が存在しない場合は、何があなたがハッシュセットの代わりに使用することをお勧め?
SQLのようにデータを検索する方法と同様の質問ですか?ハッシュセットの正規表現検索
0
A
答えて
2
HashSetは、あなたをどこにでも逃すことはありません。これは非常に効率的な正確なルックアップのために設計されていますが、範囲や近接性の概念を持たないため、ファジールックアップにはまったく役に立たないです。
このような検索をサポートする標準的なデータ構造はありません。 NavigableSet
インターフェイス(TreeSetは標準実装)を使用して、この機能の一部を自分で実装できます。
しかし、理想的には、標準のJavaデータ構造ではないRadix treeのようなものを使用する必要があります。
もちろん、あなたはHashSetを使って無理矢理実装することができます。すべてのエントリを繰り返し、あなたのパターンに対してそれぞれをチェックします。しかし、あなたの演奏はO(1)の代わりにO(n)なので、HashSet(重複を除いて)を使う利点はなく、ArrayListを使うこともできます。あなたはしかし、箱から出して...あなたがフィルターにストリームと正規表現を組み合わせることができないことを確認するために
0
:
は、たとえば、あなたが設定したF文字列を持っていて、/必要なものだけをしたい想像しています数字ではありません:
Set<String> languages = new HashSet<>(Arrays.asList("0", "java", "c++", "1234", "1999"));
Set<String> resultFilteredLanguages = languages.stream().filter(line -> !line.matches("\\d+")).collect(Collectors.toSet());
resultFilteredLanguages.forEach(System.out::println);
関連する問題
- 1. 正規表現検索エンジン
- 2. 正規表現検索ヘルプ
- 3. 正規表現検索ワード「 - 」
- 4. 大括弧内検索の正規表現(正規表現)
- 5. ビジュアルスタジオでの正規表現の検索
- 6. Python検索の正規表現
- 7. 検索 - PHPの正規表現
- 8. gitのログ正規表現検索
- 9. Java検索の正規表現
- 10. 速い正規表現の検索
- 11. MySQL検索の正規表現
- 12. NSTextFinderと正規表現の検索
- 13. MySQL正規表現の検索
- 14. 正規表現のハイライト検索用語
- 15. Visual Studio 2010の正規表現検索
- 16. JavaScriptのフルテキスト検索正規表現
- 17. Pythonの正規表現 - 検索ドットパンダデータフレーム内
- 18. "$ {sometext}"の正規表現を検索
- 19. 正規表現の検索エラー
- 20. Pythonの正規表現検索は
- 21. mongodbデータベース検索の正規表現
- 22. 正規表現ブラウザの検索?
- 23. メモ帳++正規表現の検索
- 24. VIM検索と置換正規表現
- 25. SQL Server:正規表現検索キャプチャグループ数
- 26. 、検索および正規表現
- 27. 正規表現は、ワイルドカード文字検索
- 28. vimで正規表現を検索
- 29. 正規表現でgrep検索
- 30. カテゴリマッチング - 正規表現と全文検索
私の知るところでは、javaのリストにはinbuiltのような演算子はありません。あなたが行うことができる最も近いことは、あなたの構造体を(あなたの場合には)反復し、各オブジェクトに対して 'matches'メソッドを使うことです。見てくださいhttp://stackoverflow.com/questions/898405/how-to-implement-a-sql-like-like-operator-in-java –
以下のリンクは役に立つかもしれません。それはあなたが持っていると同じソリューションのように見えます。重複している可能性があります。 [http://stackoverflow.com/questions/39674216/how-to-use-regular-expression-while-searching-in-hashset](http://stackoverflow.com/questions/39674216/how-to-use-検索中の正規表現中のハッシュセット) – Arindam