2014-07-22 56 views
5

我有点停留在这一问题在当前项目中我的工作:算法的一个字符串数组比较字符串的许多阵列

我想带一个ArrayList<String>(称之为一个)并将其与许多ArrayList<String>进行比较,记录这些数组比较中匹配的字符串数。然后,我想按顺序从最相似到最不相似的顺序排列多个字符串数组。

有没有人知道任何快速算法来做到这一点?没有像算法那样寻找代码,但我正在使用Java。

谢谢!

+3

什么是近距离投票的原因?这是如何“要求我们推荐或找到工具,图书馆或最喜欢的非现场资源”? – arshajii

+0

您将使用哈希值,可能以几种不同的方式。 (实际上,这个问题是一个骗局 - 它每两周就会被问到一次。) –

+0

哎呀,对不起,重复!找不到问题,但我可能没有找到正确的地方。谢谢你的帮助! – CatLord

回答

4

我的建议:

  1. 首先把所有的字符串在设定基准的ArrayList。
  2. 查看每个其他ArrayList的所有成员,并使用set.contains(string)查找每个数组列表包含的匹配数。
  3. 对于每个ArrayList,创建一个包装ArrayList的对象以及该ArrayList的匹配数。
  4. 最后,根据匹配数对这些包装对象进行排序。
+1

然后让包装'ArrayList' + match count的对象实现'Comparable'来对它们进行排序。 –

+0

有道理,谢谢! – CatLord