私はphpのバックグラウンドから来ており、phpにはarray_size()
、配列内の使用されている要素の数を通知する関数があります。
String[]
配列に同様の方法はありますか?ありがとう。
私はphpのバックグラウンドから来ており、phpにはarray_size()
、配列内の使用されている要素の数を通知する関数があります。
String[]
配列に同様の方法はありますか?ありがとう。
回答:
はい、.length
(プロパティではなく、メソッドのように):
String[] array = new String[10];
int size = array.length;
array.length
これは実際には配列の最後のメンバーであり、メソッドではありません。
また、多次元配列がある場合、適切な軸/タプル/次元に到達するまで、クエリしている配列に '[0]'を追加するだけで、それぞれの次元を取得できることに注意してください。
これはおそらく次のコードでよりよく説明されます:
public class Test {
public static void main(String[] args){
String[][] moo = new String[5][12];
System.out.println(moo.length); //Prints the size of the First Dimension in the array
System.out.println(moo[0].length);//Prints the size of the Second Dimension in the array
}
}
これは出力を生成します:
5
12
配列はオブジェクトであり、長さフィールドがあります。
String [] haha = {"olle"、 "bulle"};
haha.lengthは2になります
答えは「すべて」です。Java配列は、固定数の要素スロットで割り当てられます。「長さ」属性は、その数を示します。その数は、配列の存続期間中は不変です。サイズ変更可能な同等のものには、java.util.Listクラスの1つが必要です。ここで、size()メソッドを使用して、使用されている要素の数を確認できます。
ただし、「使用中」と「使用中」があります。クラスオブジェクト配列では、要素がnullオブジェクトである要素スロットを使用できます。そのため、それらは長さ属性でカウントされますが、ほとんどの人の定義では使用されません(アプリケーションによってはYMMV)。null / null以外のカウントを返す組み込み関数はありません。
リストオブジェクトには、「使用中」の別の定義があります。基礎となるストレージ構造の過度の作成/破壊を回避するために、これらのクラスには通常、いくつかのパディングがあります。内部的に使用されますが、返されるsize()メソッドではカウントされません。また、(addメソッドを使用して)リストを展開せずにこれらのアイテムにアクセスしようとすると、不正なインデックス例外が発生します。
したがって、リストの場合、null以外のコミット済み要素、すべてのコミット済み要素(null要素を含む)、または現在割り当てられている拡張スペースを含むすべての要素を「使用中」にすることができます。
上記の答えはすべて適切です。注意すべき重要なことは、配列には長さ属性がありますが、長さメソッドはありません。Javaで文字列と配列を使用する場合は常に、直面する可能性のある3つの基本モデルは次のとおりです。