比较两个String ArrayLists并在控制台中获取相同的值

时间:2016-07-08 19:58:14

标签: java arraylist

我有2个以下的字符串数组列表。

ArrayList<String> sourceArray = [bg, zh_cn, cs, da, en_us];
ArrayList<String> targetArray = [bg, pt, ru, sg, da, en_us];

我想用Java编写代码,我将比较这两个ArrayList在输出中得到相同的值,如下所示。

如果sourceArray等于targetArray,则应在下面打印:

System.out.println("bg is similar in both array"); 

我的输出应该如下:

bg is similar in both array
da is similar in both array
en_us is similar in both array

2 个答案:

答案 0 :(得分:0)

我假设它们是String的ArrayList。

ArrayList<String> sourceArray=...;
ArrayList<String> targetArray=...;

如果职位不相关:

for(String s : sourceArray) {
    if(targetArray.contains(s)) {
        System.out.println(s.concat(" is similar in both array"));
    }
}

else(显然假设它们具有相同的大小):

for(int i=0; i<targetArray.size(); i++) {
    if(sourceArray.get(i).equals(targetArray.get(i))) {
        System.out.println(sourceArray.get(i).concat(" is similar in both array"));
    }
}

答案 1 :(得分:0)

sourceArray.retainAll(targetArray);
// sourceArray now only contains those similar items
// print them
sourceArray.forEach(string -> System.out.println(string + " is similar in both arrays"));

如果您不想更改sourceArray,那么只需创建一个临时的ArrayList来保存项目。