兩個list取出重複資料

執筆記憶的空白發表於2015-09-11
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 也是可以用這個方法的

相關文章