文字列がroot?param1=...¶m2=...¶m3=...
であり、重複するパラメータを削除するjavaメソッドを作成したいとします。値は常に同じですが、アプリケーションの機能ごとにパラメータが複製されることがあります(要求しないでください)。文字列から重複したURIパラメータを削除する最適な方法は何ですか?
グラブ:そのため、
HTTP://root?param1=value¶m2=value2¶m2=value2param3=value3¶m3=value3¶m1=value¶m1=value
は、私はプログラミングの外にこれを行うための最善の方法を覚えておくにはあまりにも長い間してきたが、思考の私の元の列車はこのような何かを行ってきました
HTTP://root?param1=value¶m2=value2¶m3=value3
なり各paramとtemp配列にスティックし、temp配列を実行し、array [i]が他のparam名と等しいかどうかを比較します。その場合は削除してください。そうでない場合は、戻り文字列に追加します。ループの終わりに、リターン文字列を出力します。
しかし、これにはURIの長さにO(m)を加えたO(n)が必要です!配列のサイズ(mはパラメータの数)で指定します。私は、すべての着信URIに対してこのメソッドを毎分約5,000x実行することを考えれば、かなり悪いと思う。これについて、またはオーバーヘッドの一部を処理するすぐに使えるJavaメソッドについて、より良い方法がありますか?
本当に行う必要がありますか? URLの受信者が重複を無視することはできません(多値のパラメータを明示的に検索しない限り、ほとんどの実装は既に実行しています)。 – Thilo
URLのリストを監視する方法です。特定のページは同じ動作をしますが、URLが異なる場合があります(複数の重複パラメータの数だけ変化します)。 – user625032