[英]How to compare string arraylist value and arraystring value in java
I have two arraylist like this : 我有两个这样的arraylist:
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");
And I have code java like this : 我有这样的代码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;
}
}
I want to compare value in arraylist find with arraystring kata. 我想将arraylist find中的值与arraystring kata进行比较。 The output that I have like this :
我有这样的输出:
saya = 2
saya = 1
saya = 0
makan = 1
makan = 1
makan = 0
Overall the output is correct. 总体而言,输出正确。 But I want get output of line.
但是我想得到行的输出。 I want an output like this :
我想要这样的输出:
saya = 2;
makan = 1;
saya = 1;
makan = 1;
saya = 0;
makan = 0;
Can anyone help me? 谁能帮我?
Here you go. 干得好。 :-)
:-)
Try this 尝试这个
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;
}
}
Just change the location of two lines as 只需将两行的位置更改为
for (int i = 0; i < hasil.size(); i++) {
for (int k = 0; k < find.size(); k++) {
Complete code as follow 完整的代码如下
public static void main(String[] args) {
System.out.println("Program Start");
int c = 0;
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");
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;
}
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.