プログラム言語ごとの配列の扱い
配列は、同じ型のデータを一括で管理するための基本的なデータ構造です。以下に、代表的なプログラミング言語ごとに配列の扱い方を整理します。
目次
1. C言語
- 配列の宣言と初期化
int arr[5] = {1, 2, 3, 4, 5};
- 要素へのアクセス
printf("%d", arr[0]); // 1
- 配列の長さ: 配列の長さは固定で変更不可。
2. C++
- 配列の宣言と初期化
int arr[5] = {1, 2, 3, 4, 5};
- 標準ライブラリを使用した動的配列
#include <vector>
std::vector<int> vec = {1, 2, 3, 4, 5};
vec.push_back(6); // 動的に要素を追加可能
- 要素へのアクセス
std::cout << arr[0] << std::endl; // 1
std::cout << vec[0] << std::endl; // 1
3. Java
- 配列の宣言と初期化
int[] arr = {1, 2, 3, 4, 5};
- 要素へのアクセス
System.out.println(arr[0]); // 1
- 配列の長さ
System.out.println(arr.length); // 5
4. Python
- リスト(配列として扱う)
arr = [1, 2, 3, 4, 5]
- 要素へのアクセス
print(arr[0]) # 1
- 可変長配列
arr.append(6) # 動的に要素を追加可能
5. JavaScript
- 配列の宣言と初期化
let arr = [1, 2, 3, 4, 5];
- 要素へのアクセス
console.log(arr[0]); // 1
- 動的配列
arr.push(6); // 動的に要素を追加可能
6. C#
- 配列の宣言と初期化
int[] arr = {1, 2, 3, 4, 5};
- 要素へのアクセス
Console.WriteLine(arr[0]); // 1
- 配列の長さ
Console.WriteLine(arr.Length); // 5
7. Ruby
- 配列の宣言と初期化
arr = [1, 2, 3, 4, 5]
- 要素へのアクセス
puts arr[0] # 1
- 可変長配列
arr.push(6) # 動的に要素を追加可能
8. Go (Golang)
- 配列の宣言と初期化
var arr = [5]int{1, 2, 3, 4, 5}
- スライスの使用(動的配列)
slice := []int{1, 2, 3, 4, 5}
slice = append(slice, 6)
- 要素へのアクセス
fmt.Println(arr[0]) // 1
fmt.Println(slice[0]) // 1
9. Rust
- 配列の宣言と初期化
let arr = [1, 2, 3, 4, 5];
- 可変長ベクター
let mut vec = vec![1, 2, 3, 4, 5];
vec.push(6); // 動的に要素を追加可能
- 要素へのアクセス
println!("{}", arr[0]); // 1
println!("{}", vec[0]); // 1
10. Kotlin
- 配列の宣言と初期化
val arr = arrayOf(1, 2, 3, 4, 5)
- リスト(より一般的)
val list = mutableListOf(1, 2, 3, 4, 5)
list.add(6)
- 要素へのアクセス
println(arr[0]) // 1
println(list[0]) // 1
違いのまとめ
言語 | 静的配列のサポート | 動的配列のサポート | 要素数取得方法 | その他の特徴 |
---|---|---|---|---|
C | ✓ | ✗ | 固定長で設計 | シンプルで低レベルな操作が可能 |
C++ | ✓ | ✓ (std::vector) | size() | 標準ライブラリで強力な機能を提供 |
Java | ✓ | ✓ (ArrayList) | .length | コレクションAPIが充実 |
Python | ✗ (リストで代用) | ✓ | len() | 可変長で柔軟な操作が可能 |
JavaScript | ✗ (配列のみ) | ✓ | .length | オブジェクトとして柔軟に利用可能 |
C# | ✓ | ✓ (List) | .Length | LINQと連携可能 |
Ruby | ✗ (配列のみ) | ✓ | .size | 簡潔な構文と強力な操作性 |
Go | ✓ | ✓ (スライス) | len() | スライスで柔軟に対応可能 |
Rust | ✓ | ✓ (Vec) | .len() | 所有権モデルで安全性を提供 |
Kotlin | ✓ (Array) | ✓ (List) | .size | シンプルでモダンな操作性 |
これらの情報を参考に、用途や言語の特性に応じた配列操作を選択しましょう。
ディスカッション
コメント一覧
まだ、コメントがありません