java List集合交集并集相减原生态方法

package com.bugyun.exception;

import java.util.ArrayList;
import java.util.List;

/**  
 * 项目名称:Test  
 * 类名称:CollectionTest.java  
 * 类描述:  
 * 创建人:beyond  
 * 创建时间:2016年4月1日 下午2:17:05  
 * 修改人: beyond 
 * 修改时间:2016-4-26上午11:19:50 
 * 修改备注:
 * @version   
*/
public class CollectionTest {
	public static void main(String[] args) {
		List<String> listOne = new ArrayList<String>();
		listOne.add("abc");
		listOne.add("123");
		listOne.add("ABC");

		List<String> listTwo = new ArrayList<String>();
		listTwo.add("abc");
		listTwo.add("123");
		listTwo.add("XYZ");

		// 以下打印单独执行查看结果,效果更明显;listOne集合元素已经变了,不便于查看效果
		// [ABC, abc, 123, XYZ]
		// System.out.println(intersection(listOne, listTwo));
		// //[abc, 123]
		// System.out.println(union(listOne, listTwo));
		// //[ABC]
		// System.out.println(subtract(listOne, listTwo));
	}

	/**
	 * @description: 返回两者的并集
	 * @param listOne
	 * @param listTwo
	 * @return List<E>
	 * @throws
	 * @author beyond
	 * @data:2016年4月1日下午2:37:01
	 */
	private static <E> List<E> intersection(List<E> listOne, List<E> listTwo) {
		listOne.removeAll(listTwo);
		listOne.addAll(listTwo);
		return listOne;
	}

	/**
	 * @description: 返回两者的交集
	 * @param listOne
	 * @param listTwo
	 * @return List<E>
	 * @throws
	 * @author beyond
	 * @data:2016年4月1日下午2:37:20
	 */
	private static <E> List<E> union(List<E> listOne, List<E> listTwo) {
		listOne.retainAll(listTwo);
		return listOne;
	}

	/**
	 * @description: listOne - ListTwo 集合
	 * @param listOne
	 * @param listTwo
	 * @return List<E>
	 * @throws
	 * @author beyond
	 * @data:2016-4-26上午11:19:50
	 */
	private static <E> List<E> subtract(List<E> listOne, List<E> listTwo) {
		listOne.removeAll(listTwo);
		return listOne;
	}
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值