本サイトはプロモーション(広告)が含まれています。

【Java】sizeとlengthの違い(size()はコレクション、length()は文字列の長さ)

【Java】sizeとlengthの違い(sizeはコレクション、lengthは配列・文字列)

 Javaでは、文字列の長さや、要素の数を取得するメソッドとしてsizeとlengthのメソッドがあります。

 使用について混同してしまい、間違ってしまうこともあるため備忘として記載しました。

  • size():コレクションの要素数を取得
  • length():文字列の長さを取得

Javaのsize()メソッドはコレクションの要素数を取得

  size()メソッドを使用するとListやMap、Setなどのコレクションの要素数を取得することができます。

List<String> list= new ArrayList <>();
list.add("テスト");
list.add("テスト");
// Listの中身を出力
System.out.println(list);
// Listの要素数を出力
System.out.println(list.size());
Map<String, String> map = new HashMap<>();
map.put("番号1", "01");
map.put("番号2", "02");
map.put("番号3", "03");
// Mapの中身を出力
System.out.println(map);
// Mapの要素数を出力
System.out.println(map.size());
Set<String> set = new HashSet<>();
set.add("セット");
set.add("セット");
// Setの中身を出力
System.out.println(set);
// Setの要素数を出力
System.out.println(set.size());

//実行結果
// Listの中身を出力
[テスト, テスト]
// Listの要素数を出力
2
// Mapの中身を出力
{番号3=03, 番号1=01, 番号2=02}
// Mapの要素数を出力
3
// Setの中身を出力
[セット]
// Setの要素数を出力
1

Listの要素の数は、[]の中の数を指しており、[テスト, テスト]は2つの要素が存在しています。

Mapの要素の数は、キー値と値のペアの数を指しており、{番号3=03, 番号1=01, 番号2=02}には3ペア存在するため要素数は3となります、

Setはコレクションに値を追加する際に重複は許容しないため、今回のケースの場合は[セット]の要素数は1となります。

 一方で、配列や、文字列にsize()を使用しようとするとエラーとなります。

Javaのlength()メソッドは文字列の長さを取得

 length()メソッドを使用するとStringやStringBuilderの文字列の長さを取得することができます。

StringBuilder sb = new StringBuilder("TEST");
System.out.println(sb);
System.out.println(sb.length());
String str = "test";
System.out.println(str);
System.out.println(str.length());

//実行結果 
TEST
4
test
4

 StringやStringBuilderはいずれも、文字列の長さを指します。

 length()は文字列の長さを取得するメソッドであり、いずれも4文字のため取得する値は4となります。

Javaの記事一覧へ


PAGE TOP