package xuxin;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
/**
* @Description
* @author xu.xin
* @date 2018年7月14日 上午10:54:20
*/
public class sum {
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] a = { 12, 1, 2, 12, 1, 221432545, 6, 4, 6, 4, 56, 54654 };
int[] b={12,1,21,2,1,3213,4,4};
reverseArray(a);//数组a反转输出(倒着排序输出)
joinArray(a,b);//数组a,b合并输出,合并数组
diffSet(a,b);//数组a,b差集(具有各不同的元素)
intersectionArray(a,b);//数组a,b交集
unionSet(a,b);//数组a,b并集
}
//数组反转顺序输出
static void reverseArray(int a[]) {
ArrayList<Integer> arrayList = new ArrayList<>();
for (int i = 0; i < a.length; i++) {
arrayList.add(a[i]);
}
System.out.println("反转前:");
for (Integer integer : arrayList) {
System.out.print(integer + " ");
}
System.out.println();
Collections.reverse(arrayList);// 反转指定列表中的顺序
System.out.println("反转后:");
for (Iterator<Integer> iterator = arrayList.iterator();
iterator.hasNext();
System.out.print(iterator.next() + " "));
}
//合并数组
public static void joinArray(int[] a,int[] b){
ArrayList<Integer> list=new ArrayList<>();
for(Integer i:a){
list.add(i);
}
for(Integer j:b){
list.add(j);
}
System.out.println("合并数组:");
for(Integer m:list){
System.out.print(m+" ");
}
}
//数组差集
private static void diffSet(int[] a,int[] b) {
// TODO Auto-generated method stub
ArrayList<Integer>array1=new ArrayList<>();
ArrayList<Integer>array2=new ArrayList<>();
for(int i:a){
array1.add(i);
}
for(int j:b){
array2.add(j);
}
array1.removeAll(array2);//两个ArrayList取差集
for(Integer integer:array1){
System.out.print(integer+" ");//输出数组
}
}
//求两个数组的交集
private static void intersectionArray(int a[],int b[]){
ArrayList<Integer>array1=new ArrayList<>();
ArrayList<Integer>array2=new ArrayList<>();
for(int i:a){
array1.add(i);
}
for(int j:b){
array2.add(j);
}
array1.retainAll(array2);//两个ArrayList取交集
for(Integer integer:array1){
System.out.print(integer+" ");
}
}
//两个数组取并集
public static void unionSet(int[] a,int[] b){
Set<Integer> set=new HashSet<>();//HashSet集合的优势就是不存储相同元素
for(int i:a){
set.add(i);
}
for(int j:b){
set.add(j);
}
for(Iterator<Integer>iterator=set.iterator();iterator.hasNext();){
Integer integer=(Integer)iterator.next();
System.out.print(integer+" ");
}
System.out.println();
}
}
数组取并集、交集、差集
最新推荐文章于 2024-08-06 15:13:56 发布