====== プログラミング言語チートシート ====== ===== 固定長配列 ===== ^ ^Ruby ^JavaScript ^Java^ |型 |可変長と同じ|可変長と同じ|//type//[]| |依存性 |::: |::: |なし(組み込み型)| |生成 |::: |::: |new //type//[//size//]| |初期化 |::: |::: |type[] array = {values, ...}| |一括代入|::: |::: |(不可)| |長さ |::: |::: |array.length| |参照 |::: |::: |array[index]| |代入 |::: |::: |array[index] = value| ===== 可変長配列 ===== ^ ^Ruby ^JavaScript ^CoffeeScript ^Java ^ |マニュアル |[[http://docs.ruby-lang.org/ja/2.1.0/class/Array.html|Ruby 2.1.0]]|[[https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Array|MDN]]|[[http://coffeescript.org/|CoffeeScript]]| | |型 |Array |Array ||List | |依存性 |なし(組み込み型) |なし(組み込み型) ||import java.util.* | |生成 |Array.new([//size = 0//][, //value// = 0])\\ [//item1//, //item2//, ...]|new Array([//size// = 0])\\ new Array(//item1//, //item2//, ...)\\ [//item1//, //item2//, ...]||new ArrayList()| |要素数 |//array//.length\\ //array//.size|//array//.length||//list//.size()| |要素参照 | //array//[//index//] |||//list//.get(//index//)| |要素代入 | //array//[//index//] = value |||//list//.set(//index//, //value//)| |末尾に要素を追加 |//array//.push(//value//)\\ //array// << //value//|//array//.push(//value//)||//list//.add(//value//)| |先頭に要素を挿入 | //array//.unshift(//value//) |||//list//.add(0, //value//) | |末尾から要素を削除|//array//.pop |//array//.pop() ||//list//.remove(//list//.size() - 1)| |先頭から要素を削除|//array//.shift |//array//.shift() ||//list//.remove(0) | |別の配列と連結 |//array1// + //array2//|//array1//.concat(//array2//)|| | |すべて削除 |//array//.clear |なし ||//list//.clear() | |要素を指定して削除|//array//.delete(//value//)\\ (合致する要素全てを削除)|なし\\ (indexOfと「添字を指定して削除」で代用)|| | |添字を指定して削除|//array//.delete_at(//index//)|//array//.splice(//index//, 1)|| | |各要素について実行|//array//.each {|//value//| ... }|なし\\ (「各添字について実行」で代用)|for //value// in //array//\\ ...| | |各添字について実行|//array//.each_index {|//index//| ...}|for (//index// = 0;\\ //index// < //array//.length;\\ ++//index//)\\ { ... }|なし\\ (「各添字と要素について実行」で代用)| | |各添字と要素について実行|なし\\ (「各添字について実行」で代用)|なし\\ (「各添字について実行」で代用)|for //value//, //index// in //array//\\ ...| | ===== 連想配列 ===== ^ ^Ruby ^JavaScript ^CoffeeScript ^ |マニュアル |[[http://docs.ruby-lang.org/ja/2.1.0/class/Hash.html|Ruby 2.1.0]]|[[https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Object|MDN]]|[[http://coffeescript.org/|CoffeeScript]]| |型 |Hash |Object || |依存性 |なし(組み込み型) |なし(組み込み型) || |生成 |Hash.new\\ {//key1// => //value1//, //key2// => //value2//, ...}|new Object()\\ {//key1//: //value1//, //key2//: //value2//, ...}|| |要素数 |//hash//.length\\ //hash//.size|Object.keys(//object//).length|| |要素参照 |//hash//[//key//]\\ //hash//.fetch(//key//)|//object//["//key//"]\\ //object//.//key//|| |要素代入 |//hash//[//key//] = //value//\\ //hash//.store(//key//, //value//)|//object//["//key//"] = //value//\\ //object//.//key// = //value//|| |各キーについて実行|//hash//.each_key {|//key//| ... }|for (//key// in //object//) { ... }|for //key// of //object//\\ ...| |各要素について実行|//hash//.each_value {|//value//| ... }|なし\\ (「各キーについて実行」で代用)|なし\\ (「各キーと要素について実行」で代用)| |各キーと要素について実行|//hash//.each {|//key//, //value//| ... }\\ //hash//.each_pair {|//key//, //value//| ... }|なし\\ (「各キーについて実行」で代用)|for //key//, //value// of //object//\\ ...| |キーの配列を取得|//hash//.keys |なし(以下のように一度走査するしかない)\\ var r = [];\\ for (k in //object//) { r.push(k); }|なし(JSよりかは完結に書ける)\\ (k for k, v of //object//)\\ ※演算子の優先順位から、括弧が重要| ===== バイナリデータバッファ(JavaScript固有) ===== ^ ^JavaScript ^備考^ |マニュアル|[[https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer|MDN]]| | |型 |ArrayBuffer | | |依存性 |なし(組み込み型) | | |生成 |new ArrayBuffer(//length//) |//length//はバイト数| |サイズ |//arraybuffer//.byteLength |バイト数| |コピー |//arraybuffer//.slice(//begin//[, //end//])|返却するバッファはコピーされた新規バッファ| ===== バイナリデータビュー(JavaScript固有) ===== ^ ^JavaScript ^備考^ |型 |TypedArray (Uint8Array/etc.)| | |マニュアル|[[https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray|MDN]]| | |依存性 |なし(組み込み型) | | |生成 |new TypedArray(//length//)\\ new TypedArray(//typedarray//)\\ new TypedArray(//arraybuffer//[, //byteoffset//[, //length//]])| | |参照バッファ|//typedarray//.buffer | | |サイズ |//typedarray//.byteLength |バイト数| |::: |//typedarray//.length |要素数 | |オフセット|//typedarray//.byteOffset |バイト数| |部分配列取得|//typedarray//.subarray([begin[, end]])|バッファは共有するので注意| |:::|//typedarray//.slice([begin[, end]])|新規バッファを作ってコピー|