importjava.util.Set;importjava.util.List;importjava.util.HashSet;importjava.util.TreeSet;importjava.util.Iterator;importjava.util.ArrayList;importjava.util.LinkedList;public classGAGA {public static voidmain(String args[]) {

getList();

}//获取两个ArrayList的差集、交集、去重并集(数据量大小不限制)

private static voidgetList() {

List firstArrayList = new ArrayList();

List secondArrayList = new ArrayList();

List defectList = new ArrayList();//差集List

List collectionList = new ArrayList();//交集List

List unionList = new ArrayList();//去重并集List

try{

firstArrayList.add("3");

firstArrayList.add("5");

firstArrayList.add("45");

firstArrayList.add("4");

firstArrayList.add("3");

secondArrayList.add("33");

secondArrayList.add("51");

secondArrayList.add("5");

secondArrayList.add("4");

secondArrayList.add("13");//获取差集

defectList =receiveDefectList(firstArrayList, secondArrayList);

Iterator defectIterator =defectList.iterator();

System.out.println("===================差集===================");while(defectIterator.hasNext()) {

System.out.println(defectIterator.next());

}//获取交集

collectionList =receiveCollectionList(firstArrayList, secondArrayList);

Iterator collectionIterator =collectionList.iterator();

System.out.println("===================交集===================");while(collectionIterator.hasNext()) {

System.out.println(collectionIterator.next());

}//获取去重并集

unionList =receiveUnionList(firstArrayList, secondArrayList);

Iterator unionIterator =unionList.iterator();

System.out.println("===================去重并集===================");while(unionIterator.hasNext()) {

System.out.println(unionIterator.next());

}

}catch(Exception e) {

e.printStackTrace();

}

}/*** @方法描述:获取两个ArrayList的差集

*@paramfirstArrayList 第一个ArrayList

*@paramsecondArrayList 第二个ArrayList

*@returnresultList 差集ArrayList*/

public static List receiveDefectList(List firstArrayList, ListsecondArrayList) {

List resultList = new ArrayList();

LinkedList result = new LinkedList(firstArrayList);//大集合用linkedlist

HashSet othHash = new HashSet(secondArrayList);//小集合用hashset

Iterator iter = result.iterator();//采用Iterator迭代器进行数据的操作

while(iter.hasNext()){if(othHash.contains(iter.next())){

iter.remove();

}

}

resultList= new ArrayList(result);returnresultList;

}/*** @方法描述:获取两个ArrayList的交集

*@paramfirstArrayList 第一个ArrayList

*@paramsecondArrayList 第二个ArrayList

*@returnresultList 交集ArrayList*/

public static List receiveCollectionList(List firstArrayList, ListsecondArrayList) {

List resultList = new ArrayList();

LinkedList result = new LinkedList(firstArrayList);//大集合用linkedlist

HashSet othHash = new HashSet(secondArrayList);//小集合用hashset

Iterator iter = result.iterator();//采用Iterator迭代器进行数据的操作

while(iter.hasNext()) {if(!othHash.contains(iter.next())) {

iter.remove();

}

}

resultList= new ArrayList(result);returnresultList;

}/*** @方法描述:获取两个ArrayList的去重并集

*@paramfirstArrayList 第一个ArrayList

*@paramsecondArrayList 第二个ArrayList

*@returnresultList 去重并集ArrayList*/

public static List receiveUnionList(List firstArrayList, ListsecondArrayList) {

List resultList = new ArrayList();

Set firstSet = new TreeSet(firstArrayList);for(String id : secondArrayList) {//当添加不成功的时候 说明firstSet中已经存在该对象

firstSet.add(id);

}

resultList= new ArrayList(firstSet);returnresultList;

}

}

java调用方法返回数组_JAVA使用下面的方法头编写方法,返回两个数组列表的并集...相关推荐

  1. Java黑皮书课后题第7章:7.15(消除重复)使用下面的方法头编写方法,消除数组中重复出现的值。编写一个测试程序,读取10个数,调用该方法,并显示以一个空格分隔的不同数字

    7.15(消除重复)使用下面的方法头编写方法,消除数组中重复出现的值.编写一个测试程序,读取10个数,调用该方法,并显示以一个空格分隔的不同数字 题目 题目描述与运行示例 破题 代码 21.11.11 ...

  2. java调节音量代码_用Java调用VC音量控制程序_java

    前言 本文通过java的Runtime接口来实现调用其他语言实现的应用程序,进而来实现对计算机硬件信息的监控和控制.本文是多媒体信息系统的一个部分,就是调整计算机音量. 使用VC编写音量控制程序 本控 ...

  3. Java黑皮书课后题第6章:*6.5(对三个数排序)使用下面的方法头编写方法,按升序显示三个数

    *6.5(对三个数排序)使用下面的方法头编写方法,按升序显示三个数 题目 题目概述 破题 代码:排序 运行结果 题目 题目概述 *6.5(对三个数排序)使用下面的方法头编写方法,按升序显示三个数: p ...

  4. 编写程序判断两个数组是否相等,然后编写一段类似的程序比较两个 vector。

    /*编写程序判断两个数组是否相等,然后编写一段类似的程 序比较两个 vector.*/ /* bool judge1(size_t* a, size_t* b, int n) {     for (s ...

  5. java调用其他程序吗_java本地方法如何调用其他程序函数,方法详解

    JNI是Java Native Interface的缩写,中文为JAVA本地调用.从Java 1.1 开始,Java Native Interface (JNI)标准成为java平台的一部分,它允许J ...

  6. java调用命令行命令_Java命令行界面(第4部分):命令行

    java调用命令行命令 我的Java命令行解析系列的第四部分介绍了Commandline ,它被描述为 "用于解析命令行参数的Java库",它"基于使用注释从命令行参数到 ...

  7. java 如何循环执行一个对象_Java基础:如何定义好一个方法和进行方法重载

    方法就是定义在类中的具有特定功能的一段独立小程序,可以完成特定功能的代码块 在很多语言里都有函数的定义 函数在java中也称为方法 格式: 修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参 ...

  8. 关于Java调用.NET WCF和Webservice以及javaWebService通用的一种方法

    前景:关于.NET WCF和Webservice的意义及其区别,大家可以自行百度,不想百度的用Google,反正我个人喜欢谷歌. 这两天一直在研究使用java 调用.NET WCF和Webservic ...

  9. java调用dll 指针参数_java调用c dll,指针参数和结构体参数搞定 | 学步园

    终于有了比较大的成果,不过身体也累完了,昨天又去打的吊瓶,坐成铁的时候差点就晕倒在里面了,不知道什么原因,抵抗力这么差,明天放假,要在家好好休息,今天早上碰到欢欢了,她说给我做好吃的,我愿意吃她做的糖 ...

最新文章

  1. 第十六届全国大学生智能车提问与回复 |7月10日
  2. 分享五个你应该了解的宣言
  3. 基于SSH实现固定资产管理系统
  4. python爬百度翻译-用python实现百度翻译
  5. 对比Javascript和TypeScript
  6. Python文件的两种用途
  7. kafka的offset笔记
  8. 微信扫描二维码和浏览器扫描二维码 ios和Android 分别进入不用的提示页面
  9. golang map的无序性验证
  10. 广工 2013 c语言 试卷,广工2013-5-30、6-25概率论c试卷答案.doc
  11. jboss6启动报错
  12. 第三十一篇 玩转数据结构——并查集(Union Find)
  13. HDU 6030(矩阵快速幂+规律)
  14. SurfaceView + MediaPlayer 实现列表循环播放视频
  15. 程序设计语言编译原理-陈火旺(第三版)简答题复习
  16. Java同步锁synchronized的最全总结
  17. 淘宝天猫背后,有一个你不知道的神秘组织
  18. 第九届山东理工大学ACM网络编程擂台赛 正式赛 sdut4075GCD - ldq的黑心啤酒厂
  19. 我为什么反对寄希望于内部培训提升员工技能的方法?
  20. 网页UI 素材 资源

热门文章

  1. arc下内存泄漏的解决小技巧
  2. 加密锁 vs. 云授权
  3. Lisp 的单行注释和多行注释
  4. .net程序员的盲点(一):参数修饰符ref,out ,params的区别
  5. 2005年中国之“至理名言”
  6. Java LinkedList指南
  7. Laravel项目上传github后,clone到本地运行时报错500的解决方法
  8. Ant编译、FatJar编译方式
  9. 服务器-番外篇-搭建samba共享
  10. MongoDB入门简单介绍