.size()
と_.length
_の違いは何ですか? .size()
は配列リスト専用で、_.length
_は配列専用ですか?
長さは定数で、配列の要素数ではなく、配列の格納容量を見つけるために使用されます
例:
_int a[] = new int[5]
_
_a.length
_は常に配列の容量と呼ばれる5を返すため、長さは常にCAPACITYを返します。しかし
「配列内の要素の数はサイズと呼ばれます」
例:
_int a[] = new int[5]
a[0] = 10
_
結果は_a.size = 1
_および_a.length = 5
_になります。
size()
はコレクションで動作し、length
はJavaの配列で動作します
size()
は_Java.util.Collection
_で指定されたメソッドであり、標準ライブラリのすべてのデータ構造に継承されます。 length
は任意の配列のフィールドです(配列はオブジェクトです。クラスは通常表示されません)、length()
は_Java.lang.String
_のメソッドです。とにかく_char[]
_の薄いラッパー。
おそらく設計上、配列と文字列は不変であり、最上位のCollectionサブクラスはすべて可変です。したがって、「長さ」が表示される場所は一定であり、「サイズ」が表示される場所はそうではありません。
length variable:
Javaでは、配列(Java.util.Arrayではなく)は、言語自体の事前定義クラスです。配列の要素を見つけるために、設計者は長さ変数を使用しました(長さは定義済みクラスのフィールドメンバーです)。 Javaで均一性を持たせるには、length()自体を指定する必要があります。しませんでした。理由はパフォーマンスによるもので、length変数の実行はlength()メソッドの呼び出しよりも高速です。 ==とequals()で2つの文字列を比較するようなものです。 equals()は、==演算子の実行よりも時間がかかるメソッド呼び出しです。
size() method:
コレクションクラスに存在する要素の数を見つけるために使用されます。 Java.util.Collectionインターフェースで定義されています。
構文に基づいて、私はそれがCの子孫である言語であると仮定しています。私が見たように、length
は配列のような単純なコレクション項目に使用され、ほとんどの場合それはプロパティです。
size()
は関数であり、ダイナミックコレクションオブジェクトに使用されます。ただし、使用するすべての目的で、どちらを使用しても結果に違いはありません。ほとんどの実装では、サイズは単に長さプロパティを返します。
(言語が指定されていない)size()
メソッドはlength
プロパティを返します。
ただし、有効なfor
ループは次のようになります。
for (int i = 0; i < values.length; i++) {}