Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将一个字符串数组与多个字符串数组进行比较的算法_Java_Arrays_String_Algorithm - Fatal编程技术网

Java 将一个字符串数组与多个字符串数组进行比较的算法

Java 将一个字符串数组与多个字符串数组进行比较的算法,java,arrays,string,algorithm,Java,Arrays,String,Algorithm,在我目前从事的项目中,我有点被这个问题所困扰: 我想取一个ArrayList(称之为A),并将其与多个ArrayList进行比较,记录在这些数组比较中匹配的字符串数量。然后,我想对多个字符串数组按从最相似到最不相似的顺序进行排序 有人知道做这件事的快速算法吗?与其说我在寻找代码,不如说我在寻找算法,但我在Java中工作 谢谢 我的建议: 首先将引用ArrayList的所有字符串放在一个集合中 检查每个其他数组列表的所有成员,并使用set.contains(string)找出每个数组列表包含的匹配

在我目前从事的项目中,我有点被这个问题所困扰:

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

有人知道做这件事的快速算法吗?与其说我在寻找代码,不如说我在寻找算法,但我在Java中工作

谢谢

我的建议:

  • 首先将引用ArrayList的所有字符串放在一个集合中
  • 检查每个其他数组列表的所有成员,并使用
    set.contains(string)
    找出每个数组列表包含的匹配项的数量
  • 对于每个ArrayList,除了该ArrayList的匹配数之外,还创建一个包装ArrayList的对象
  • 最后,根据匹配数对这些包装器对象进行排序

  • 如果要比较字符串之间的相似性(或差异),请尝试编辑距离算法,如Levenshtein距离算法


    投票结果接近的原因是什么?“要求我们推荐或查找工具、库或喜爱的非现场资源”这是怎么回事?您将使用哈希值,可能有几种不同的方式。(事实上,这个问题是重复的——可能每两周问一次。)哎呀,抱歉重复了!找不到问题,但我可能找不到正确的位置。谢谢你的帮助!是的,我懒得查找dupe,所以不用担心。让包装
    ArrayList
    +匹配计数的对象实现
    可比性
    ,以便能够对它们进行排序。