java數組的交集和並集


前兩天給我出了一道題,求數組的並集和交集,然后我試着寫一下,很尷尬,由於長時間沒有寫過代碼,一開始數組是如何定義的給忘了。當時我說了我的思路,不過也是很low的做法,查閱網上的一些資料,實現的很厲害,不過對於我這種習慣了看1+1=2這種操作的人,難免有些為難。
好了,牢騷發夠了,這里提供一種思路,在我看來,很簡單。

public class SumandRetain {
	Set<Integer> m=new HashSet<>();
	ArrayList<Integer> a1=new ArrayList<>();
	ArrayList<Integer> b1=new ArrayList<>();
//求兩個數組的並集(利用Set的去重機制)
	public  Set<Integer> sum(int a[],int b[]) {
		for(int i=0;i<a.length;i++) {
			m.add(a[i]);
		}
		for(int j=0;j<b.length;j++) {
			m.add(b[j]);
		}	
		return m;
	}
//求兩個數組的交集(利用集合類的retainAll()方法)	
	public ArrayList<Integer> retain(int a[],int b[]){
	
		for(int i=0;i<a.length;i++) {
			a1.add(a[i]);
		}
		for(int j=0;j<b.length;j++) {
			b1.add(b[j]);
		}
		b1.retainAll(a1);
		return b1;	
	}
}

再編寫主方法

public static void main(String[] args) {
		// TODO Auto-generated method stub
		int a[]= {1,3,5,7};
		int b[]= {2,3,4,9};
		SumandRetain sumandReatain=new SumandRetain();
		System.out.println(sumandReatain.sum( a,b));
		System.out.println(sumandReatain.retain(a, b));

	}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM