2011-06-17 7 views
0

Javaコンテキストでは、複数のオブジェクトやプリミティブを含むことができる変数型を参照する適切な方法と、1つだけを含む型を参照する適切な方法は何ですか?Java:多次元型、1次元型の適切な用語は何ですか?

一般的には、リスト、配列、ベクトル、ハッシュテーブル、ツリーなどをコレクションといいます。私はプリミティブ型と1次元オブジェクトをスカラーと呼んでいます。野生で

、私は完全に誤解されているいくつかを含むフレーズの組み合わせのすべての種類を、聞いた:

「私はハッシュテーブルのベクトルの私のキー/値のペアを格納しています。」
"なぜ、複数のハッシュテーブルが必要ですか?"
"どういう意味ですか、私はハッシュテーブルを1つだけ使用しています。"

この2つのタイプのグループを高いレベルで参照する方法は広く受け入れられていますか?

+1

どのようなプログラミング言語ですか?文脈はすべてです。 –

+0

C++では「スカラー型」と「非スカラー型」という言葉を聞いたことがあります。 – sbi

+1

Javaの場合:なぜjava.util.Hashtableが必要なのですか? :-) –

答えて

0

Java Language Specは、変数と値の両方を区別するために「プリミティブ」と「リファレンス」という用語を使用しています。これは、「参照」が何か他の意味を持つ別のプログラミング言語の文脈では混乱するかもしれません。

しかし、それがあなたが作成しようとしている区別とまったく同じかどうかはわかりません。 Integerのような文字列とオブジェクトラッパーをintのようなJavaプリミティブ型で塊にしたい場合は、スケーラとスケーラを区別することができます。もちろん、すべての非スケーラーはコレクションではありません。

0

JavaのようなOO言語にそのような用語が実際に当てはまるかどうかはわかりません。単一値のみを持つことができるプリミティブとオブジェクトとの間には区別がありますが、オブジェクトには任意の数の他のオブジェクトが含まれる場合があります。

他のオブジェクトの0以上のインスタンスを含むことを目的とするオブジェクトは、おそらくCollections APIまたはArraysのために(私の経験では)コレクションと呼ばれます。

ポインタなどを明示的に扱っている言語は、その区別によります。

0

あなたの質問は、2つのクラスしかなく、それらのうちの1つがコレクションと呼ばれるものだと仮定していると思います。コレクションAPIの一部であるため、リスト、マップ、セットなどのコレクションも呼び出すとしましょう。しかし、Collectionはintegerのようなプリミティブ型と同じ抽象化レベルではありません。実際には、プリミティブとリファレンスがあります。参照は、クラスのインスタンスであるオブジェクトへのポインタです。クラスは多くの方法で分類できます。これらの分類の1つは「コレクション」です。

"ハッシュテーブルベクタ"と言うあなたのお友達は、テーブルが1つだけの場合はかなり間違っています。ハッシュテーブルはハッシュテーブルであり、ベクトルはベクトルです。ハッシュテーブルのベクトルは、私が心配している限りVector<Hashtable>です。

0

最も特定のJava APIクラス名(Collection、List、Objectなど)を過度に指定せずに使用するだけで、すべてのJava開発者の99%が何を意味するのか理解できます。

関連する問題