我有一个包含大约 1000 个字符串的 ArrayList。我想根据与外部给定字符串的相似性对这个列表进行排序。非常接近字符串的字符串将排在最前面。
例如。我有一个像“美女与野兽”这样的字符串。
我的 Arraylist 包含字符串,如:
RedWall
美女与野兽 3
BlueWall
BeautyQueen I
Beast of Rome II
美女与野兽 1
Beast with The Beauty
BlueWall 2
BeautyQueen II
Beast of Rome I
美女与野兽 2
...
所以在对这个数组列表进行排序之后,它应该是这样的......
美女与野兽 1
美女与野兽 2
美女与野兽 3
野兽与美女
BeautyQueen I
BeautyQueen II
Beast of Rome I
Beast of Rome II
BlueWall
BlueWall 2
RedWall
像这样的东西..我不知道美女与野兽3之后的顺序会如何..但它应该选择具有完全相同字符串的字符串作为开头。
我正在寻找一些实际上可以帮助我在 Java 中实现此任务的算法。
我也听说过使用 Levenstein Distance,但我不知道如何将其用于我的任务。
任何指针都会有很大帮助。