【问题标题】:Comparing two String ArrayLists and get same value in console比较两个字符串数组列表并在控制台中获得相同的值
【发布时间】:2016-07-08 19:58:13
【问题描述】:

我有以下 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

【问题讨论】:

  • 数组和ArrayLists 是非常不同的东西。我建议你彻底研究你的提示。

标签: java arraylist


【解决方案1】:

我假设它们是 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"));
    }
}

【讨论】:

    【解决方案2】:
    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 来保存项目。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-02
      相关资源
      最近更新 更多