9

重複の可能性:
コレクション内の数 vs 長さ vs サイズ

特に Java では、 onStringsでは を呼び出しますがstring.length()、ではListsを呼び出しますlist.size()Stringaは実際には単なるリストであるため、2 つの用語の間に技術的な違いはありcharsますか?

コメントをお待ちしております。

4

6 に答える 6

14

一般に、length() は一定の長さの場合に使用され、size() は可変長の場合に使用されます。それを過ぎると、ほぼ同義の 2 つの用語を使用する正当な理由がわかりません。

于 2010-02-04T21:45:33.640 に答える
9

理想的にcountは、アイテムの数であり、size(のように)使用されるストレージの量ですsizeof

実際には、3つすべて(length最もあいまいなを含む)は、広く使用されている多くのライブラリで混乱しているため、この段階でそれらにパターンを課そうとしても意味がありません。

于 2010-02-04T22:01:42.807 に答える
4

私のため、

「長さ」は順序を意味し、最初から最後までの長さを測定しています。

「サイズ」は、順序、開始、または終了を意味することなく、何かがどれだけ大きいかを意味します。

于 2010-02-04T22:10:27.647 に答える
3

私はそうは思わない。これは、API が大規模なチームで作業していることが原因である可能性が高く、特にこの問題のサイズや長さなど、特定のコンテキストで同義語となる単語については、人によって名前のあり方が異なる場合があります。

于 2010-02-04T21:42:14.360 に答える
2

他の人が触れたように、それは意味論的な違いだと思います。配列は非常に明確に定義されており、長さがあると見なされます。オブジェクトのコレクションはよりあいまいです。その理由の 1 つは、その実装 (配列、リンク リスト、ツリーのいずれか) が必ずしも関心事ではないためです。ツリーには実際の長さはありませんが、明確なサイズがあるため、意味的にはサイズの方が理にかなっています。

于 2010-02-04T21:57:51.157 に答える
0

私にとって、「サイズ」は、コンピューター内のバイトを編成する構造またはその他の方法を説明するときに使用されます。必ずしもインスタンス化する必要はありません。一方、「長さ」は、メモリ内の特定のバイトのバッファが特定の時点でどれだけ大きいかを意味します。

たとえば、提供しているバッファの長さは? 構造体 x のサイズと同じバイト数です。

于 2010-02-05T09:03:52.963 に答える