0
我有一个下面的函数二元语法:功能匹配
public static ArrayList<String> matchLists(ArrayList<String> ar1, ArrayList<String> ar2, ArrayList<String> ar3) {
ArrayList<String> result = new ArrayList<String>();
for (int i = 0; i < ar1.size(); i++) {
for (int j = 0; j < ar2.size(); j++) {
for (int k = 0; k < ar3.size(); k++) {
String[] s1 = ar1.get(i).split("\\s");
String[] s2 = ar2.get(j).split("\\s");
String[] s3 = ar3.get(k).split("\\s");
if (s1[1].equals(s2[0]) && s2[1].equals(s3[0])) {
result.add(s1[0] + " " + s2[0] + " " + s3[0] + " " + s3[1]);
}
}
}
}
return result;
}
它输入双字母组3周的ArrayList并对它们进行比较。如果第一个数组列表中的第二个单词与第二个数组列表中的单词匹配,则他们创建一个句子。
例子:
1st Array List: he ate
2nd Array List: ate two
3rd Array List: two apples
创建一个句子,他吃了两个苹果。但是这个函数仅限于3个ArrayLists。我想使它更加健壮,因此它会接受一个2d的ArrayList的字符串,其中每个ArrayList都是一个bigrams的集合,并且将检查可用的bigrams中所有可能的匹配。有人可以帮助我吗?
作业?...... – Bozho
它不是一个家庭作业。只是在一些bigram匹配程序上工作 – Radek