配列(リスト)が空かどうかを判定するには (empty / isEmpty) 2015/04/28
配列が空っぽかどうかを判定する方法についての、プログラミング言語別のメモ。
Javaの配列 | arr.length == 0 |
JavaのList |
lst.isEmpty() |
Scala | lst.isEmpty |
PHP | empty($arr) |
Python | len(lst) == 0 |
Ruby | arr.empty? |
Perl | !@arr |
関連
スポンサーリンク
Java
配列 2015/01/12
長さが0かどうかで判定する。
if (arr.length == 0) {
System.out.println("empty");
} else {
System.out.println("not empty");
}
java.util.List
2015/04/25
Signature:
例
if (lst.isEmpty()) {
System.out.println("empty");
} else {
System.out.println("not empty");
}
Scala 2016/12/04
List
クラスなどにisEmpty
とその逆のnonEmpty
メソッドが存在する。
Signature:
- def Seq[A]#isEmpty: Boolean http://www.scala-lang.org/api/current/scala/collection/Seq.html#isEmpty:Boolean
- def Seq[A]#nonEmpty: Boolean http://www.scala-lang.org/api/current/scala/collection/Seq.html#nonEmpty:Boolean
例
if (lst.isEmpty) {
println("empty");
} else {
println("not empty");
}
これらはTraversableOnce
のメソッドなので、Set
やMap
でも同じメソッドが使える。
PHP 2015/03/31
例
if (empty($arr)) {
echo "empty\n";
} else {
echo "not empty\n";
}
$arr
が配列でない場合でも、論理値に変換したときにFALSE
になるものや、変数が定義されていない場合にはemptyの扱いになる。
-> 論理値への変換
PHP 5.4まではempty
関数には変数しか受け付けない。関数の返り値を直接渡すことはPHP 5.5からしかできない。
PHPの配列は連想配列と同じなので連想配列においてもempty
の使い方は同じ。
empty
関数は文字列にも使える。
empty
関数 | PHP Manual
http://php.net/manual/ja/function.empty.php
Ruby / JRuby 2014/12/31
Array#empty?
を使う。
arr.empty?
Array#empty?
| Ruby 2.1 リファレンスマニュアル
http://docs.ruby-lang.org/ja/2.1.0/method/Array/i/empty=3f.html
Perl 2013/07/30
例
if(@arr){
# 空でない場合の処理
} else {
# 空の場合の処理
}
if(!@arr){
# 空の場合の処理
}