Set

集合を扱う場合で、重複を許さないもの。

Java

  • Set 実装クラスを使う。
    • equals なオブジェクトは重複して登録されない
Set s = new TreeSet(); //ソートしながら格納していく実装。
s.add(new Integer(3)); //1ヶめ。
s.add(new Integer(4)); //2ヶめ。
s.add(new Integer(3)); //カブるので登録されない。
s.add("3"); //eqauls が false なので登録される。3ヶめ。
String[] array={"太郎","次郎","三郎","太郎"}; 
Set set=new HashSet(Arrays.asList(array));
System.out.println(set); //太郎次郎三郎
List list=new ArrayList(Arrays.asList(array));
System.out.println(list); //太郎次郎三郎太郎

PHP

  • あるのかな
Setの様なダイレクトなものはなかったがarray_uniqueを発見。
サンプル
<?php
	$a = array(1,2,3,4,5,6,7, 1,3,5,7,9,11,13);
	$set = array_unique($a);
	echo 'set is ';
	foreach($set as $a){
		echo $a.',' ; //1~13
	}
?>

javascript

  • あるのかな
配列に関して集合を扱う演算子が存在せず、自分で作成しなければならない。
和集合を行うサンプルの一部
function union(arrayA, arrayB) {
var result = arrayA.concat();
for (var i = 0, len = arrayB.length; i < len; i++) {
if (!include(arrayB[i], result)) {
result.push(arrayB[i]);
}
}
return result;
}

タグ:

+ タグ編集
  • タグ:

このサイトはreCAPTCHAによって保護されており、Googleの プライバシーポリシー利用規約 が適用されます。

最終更新:2013年06月18日 11:39