我有两个像这样的数组列表:
ArrayList<String> hasil = new ArrayList<String>();
hasil.add("saya makan saya");
hasil.add("makan kamu dimana saya");
hasil.add("kamu dimana");
ArrayList<String> find = new ArrayList<>();
find.add("saya");
find.add("makan");
我有这样的java代码:
String[] kata = new String[10];
for (int k = 0; k < find.size(); k++) {
for (int i = 0; i < hasil.size(); i++) {
kata = hasil.get(i).split(" ");
for (int j = 0; j < kata.length; j++) {
if (kata[j].equals(find.get(k))) {
c++;
}
}
System.out.println(find.get(k) + " = " + c);
c = 0;
}
}
我想将 arraylist find 中的值与 arraystring kata 进行比较。我的输出如下:
saya = 2
saya = 1
saya = 0
makan = 1
makan = 1
makan = 0
总体输出是正确的。但我想要得到线路的输出。我想要这样的输出:
saya = 2;
makan = 1;
saya = 1;
makan = 1;
saya = 0;
makan = 0;
有人可以帮助我吗?
最佳答案
给你。 :-)
试试这个
String[] kata = new String[10];
for (int i = 0; i < hasil.size(); i++) {
for (int k = 0; k < find.size(); k++) {
kata = hasil.get(i).split(" ");
for (int j = 0; j < kata.length; j++) {
if (kata[j].equals(find.get(k))) {
c++;
}
}
System.out.println(find.get(k) + " = " + c);
c = 0;
}
}
关于java - 如何在java中比较字符串数组列表值和数组字符串值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42887367/