//サンプルコード
//和集合をとる
//filename : HairetsuDeWashugo.java
class HairetsuDeWashugo {
static final int MAX_LENGTH = 255; //配列長の最大値
public static void main(String[] args) {
int a[] = {1,2,3,5,8}; //集合a
int b[] = {2,4,5,7,9}; //集合b 重複あり
// int b[] = {4,7,9,10,13}; // 重複なし
// int b[] = {2,5}; // a はb を包含する
// int b[] = {1,2,3,4,5,7,8}; // bはaを包含する
int c[] = new int[MAX_LENGTH]; //集合c
int nElementsC = 0; //集合c の要素数
//C <- A cup B
System.arraycopy(a,0,c,0,a.length); //配列のコピー。便利。
nElementsC = a.length;
boolean match = false;
for( int i=0; i<b.length ; ++i){
for( int j=0; j<a.length; ++j){
if (b[i] == a[j]){
match = true;
break;
}
}
if (match == false) {
c[nElementsC]=b[i];
++nElementsC;
}
match = false;
}
//結果表示
for( int i = 0 ; i < nElementsC; ++i ){
System.out.println("c["+i+"]=" + c[i]);
}
}// end of main
}// end of class HairetsuDeWashugo
ソースコード:ArrayListDeSekishugo.java
//サンプルコード
//積集合をとる ArrayList 版
//filename : ArrayListDeSekishugo.java
import java.util.ArrayList;
class ArrayListDeSekishugo {
public static void main(String[] args) {
//集合A の宣言と初期化
ArrayList<Integer> A = new ArrayList<Integer>();
int a[] = {1,2,3,5,8};
for (int i = 0 ; i < a.length ; ++i ) A.add( a[i] );
//集合B の宣言と初期化
ArrayList<Integer> B = new ArrayList<Integer>();
int b[] = {2,4,5,7,9}; //集合b 重複あり
// int b[] = {4,7,9,10,13}; // 重複なし
// int b[] = {2,5}; // a はb を包含する
// int b[] = {1,2,3,4,5,7,8}; // b はa を包含する
for (int i = 0 ; i < b.length ; ++i ) B.add( b[i] );
//集合C の宣言
ArrayList<Integer> C = new ArrayList<Integer>();
//C <- A cap B
for( Integer i : A ) {
if ( B.contains( i ) ) C.add(i);
}
//結果表示
for( int i = 0 ; i < C.size() ; ++i ){
System.out.println("C.get("+i+")=" + C.get(i) );
}
}// end of main
}// end of class ArrayListDeSekishugo