两个list取出重复数据

2020-12-25 14:16:39 浏览数 (3)

代码语言:javascript复制
public static void main(String[] args) {

		List<Integer> list1 = new ArrayList<Integer>();
		for (int i = 0; i < 5; i  ) {
			list1.add(i);
		}
		List<Integer> list2 = new ArrayList<Integer>();
		for (int i = 2; i < 8; i  ) {
			list2.add(i);
		}
		System.out.println("List1的数据:"   list1);
		System.out.println("List2的数据:"   list2);
		System.out.println("交集为"   getRepetition(list1, list2));

	}

	/**
	 * 两个list取重复
	 * @author shijing
	 * 2015年9月11日上午9:45:25
	 * @param list1
	 * @param list2
	 * @return
	 */
	public static List<Integer> getRepetition(List<Integer> list1,
			List<Integer> list2) {
		List<Integer> result = new ArrayList<Integer>();
		for (Integer integer : list2) {//遍历list1
			if (list1.contains(integer)) {//如果存在这个数
				result.add(integer);//放进一个list里面,这个list就是交集
			}
		}
		return result;
	}

当类型为引用类型也是可以的,因为list.contains 内部实现为equals() , 所以两个String类型的list 也是可以用这个方法的

1 人点赞