`
bugyun
  • 浏览: 540647 次
社区版块
存档分类
最新评论

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

    博客分类:
  • Java
 
阅读更多
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;
	}
}

 

分享到:
评论
1 楼 牛气大志 2019-03-30  
JAVA集合操作的利器:CollectionUtils   https://blog.csdn.net/gaozhlzh/article/details/6914859

相关推荐

Global site tag (gtag.js) - Google Analytics