在java中,如何用最简单,效率最高的获取两个list中相同的数据

以String为例:

public static void main(String[] args) {
    List list1 = new ArrayList();
    for (int i = 0; i < 9; i++) {
        list1.add(String.valueOf(i));
    }
    List list2 = new ArrayList<>();
    for (int i = 3; i < 11; i++) {
        list2.add(String.valueOf(i));
    }
    System.out.println("list1:" + list1);
    System.out.println("list2:" + list2);
    getTheSameSection(list1, list2);
}

public static List getTheSameSection(List list1, List list2) {
    List resultList = new ArrayList<>();
    for (String item : list2) {//遍历list2
        if (list1.contains(item)) {//如果存在这个数
            resultList.add(item);//放进一个resultList里面,这个resultList就是交集
        }
    }
    System.out.println("resultList:" + resultList);
    return resultList;
}

list1:[0, 1, 2, 3, 4, 5, 6, 7, 8]
list2:[3, 4, 5, 6, 7, 8, 9, 10]
resultList:[3, 4, 5, 6, 7, 8]

3,4,5,6,7,8,  就是list1和list2的重复数据

你可能感兴趣的:(java)