java调用方法返回数组_JAVA使用下面的方法头编写方法,返回两个数组列表的并集...
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使用下面的方法头编写方法,返回两个数组列表的并集...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java线程概念_《Java基础知识》J
- 下一篇: java 实现汉字转换拼音_JAVA实现