检查两个arraylists是否包含类似的组件

时间:2016-02-22 04:53:29

标签: java string arraylist

我正在尝试编写一个程序,我有两个double x = Double.NaN;,我想检查它们是否包含两者中相同的组件。

例如:

arraylists

由于arraylist1 {steve, bob, alex, jeff} arraylist2 {jack, jeff, chris, jake} 在两个程序中都会打印jeff

3 个答案:

答案 0 :(得分:0)

你可以将这个arraylist的每个元素与该arraylist的每个元素进行比较。如果它们相同,你将打印...你可以用于每个循环。

答案 1 :(得分:0)

一种非常直接但缓慢的方法:(我知道必须有更快的方法)

循环浏览第一个列表。对于该列表中的每个项目,循环浏览第二个列表以查看是否有任何项目与第一个项目相同。

    Error: Could not symlink bin/node
    Target /usr/local/bin/node
    already exists. You may want to remove it:
    rm '/usr/local/bin/node'

    To force the link and overwrite all conflicting files:
    brew link --overwrite node

    To list all files that would be deleted:
    brew link --overwrite --dry-run node

或者您可以执行此操作(public static boolean areListsSimilar(ArrayList<String> list1, ArrayList<String> list2) { for (item1 : list1) { for (item2 : list2) { if (item1.equals(item2)) return true; } } return false; } 而不是ArrayList

ArrayList<String>

或者添加通用约束以仅接受实现public static boolean areListsSimilar(ArrayList list1, ArrayList list2) { for (item1 : list1) { for (item2 : list2) { if (item1.equals(item2)) return true; } } return false; }

的参数
Equatable

答案 2 :(得分:0)

public String[] search(ArrayList<String> alphas, ArrayList<String> betas) {
    ArrayList<String> results = new ArrayList<String>();    // Create container for results

    // Search for results
    for (String alpha : alphas) {
        for (String beta : betas) {
            if (alpha.equals(beta)) {
                results.add(alpha);
                break;
            }
        }
    }

    // Return results
    return results.toArray(new String[results.size()]);
}