1000 個の文字列を含む ArrayList があります。外部から与えられた文字列との類似性に基づいて、このリストをソートしたいと思います。ストリングに非常に近いストリングが一番上になります。
たとえば。私は「美女と野獣」のようなストリングを持っています。
私のArraylistには次のような文字列が含まれています:
RedWall
Beauty and the Beast 3
BlueWall
BeautyQueen I
Beast of Rome II
Beauty and the Beast 1
Beast with the Beauty
BlueWall 2
BeautyQueen II
Beast of Rome I
Beauty and the Beast 2
...
したがって、この配列リストを並べ替えた後は、次のようになります。
美女と野獣 1
美女と野獣 2
美女と野獣 3
美女と野獣
BeautyQueen I
BeautyQueen II
ビースト オブ ローマ I
ビースト オブ ローマ II
ブルーウォール ブルー
ウォール 2
レッドウォール
このようなもの.. 美女と野獣 3 の後で順序がどうなるかわかりません.. しかし、最初にある文字列がまったく同じ文字列を選択する必要があります。
Javaでこのタスクを実装するのに実際に役立つアルゴリズムを探しています。
Levenstein Distance の使用についても聞いたことがありますが、これを自分のタスクにどのように使用できるかわかりません。
どんなポインタでも大いに役立ちます。