ホームページ > Java > &#&チュートリアル > 一般的に使用されるコレクションの実装クラスの違いは何ですか?

一般的に使用されるコレクションの実装クラスの違いは何ですか?

零下一度
リリース: 2017-06-25 10:32:35
オリジナル
5872 人が閲覧しました

1. コレクションとは何ですか?

コレクションは、オブジェクト指向の再利用性を具体化したものです 一般に、いくつかの要素で構成されるコレクションを指します。はコレクションと呼ばれ、セットとも呼ばれます。

2. 集合要素の特徴

(1) 決定性: A が与えられた集合であり、 x が特定のオブジェクトであると仮定すると、それは A の要素であるか、 A の要素ではないかのいずれかです。 (2) 相互性: 特定のセット内の要素は、このセットに属する異なる個体 (オブジェクト) を参照するため、同じセット内に繰り返し出現してはなりません。 (3) Disorder: 要素間の順序は通常は考慮されませんが、シーケンスなどの特殊なコレクションを表現する場合は、通常、慣習的な番号軸の小さい順から大きい順に記述されます

コレクションの実装クラス

ArrayList 実装方法:配列実装 バージョン:1.2 時期:1998年12月リリース 軽量(高速実行) スレッドアンセーフ(よく使われる)
Vector 実装方法:配列実装 バージョン:1.0 時期:5月リリース1995 重量級 (動作が遅い) スレッドセーフ
LinkedList 実装方法: リンク リストの実装
配列: 連続空間 高速なクエリ速度 添字への直接アクセス 追加と削除が遅いと背後で追加と削除が必要 データが移動される後方または前方
リンク リスト: ノードの関連付け クエリ速度が遅い 前のリストから次のリストを検索 追加と削除が速い リンク リストの増加が速い 前のリストが新しいデータを直接ポイントしている 次のリストも新しいデータをポイントしている

Vector はクラス Stack Stack LIFO (Last In First Out) クエリレスの追加と削除を実装します

3. Java でスタックを実装する方法

a. c. Stack クラス

LinkedList を使用する場合、Stack を使用してクラスを実装しないのはなぜでしょうか。Vector は誤って add メソッドを提供しますが、スタックはポップとプッシュしかできず、スタックからは挿入できません。中間、スタックは安全ではなくなります。 Stack は Vector を継承するため、Stack には存在しないはずのメソッドが多数あります。

RREEEE

MAPコレクション

エレメント:キー値ペア(キー値ペア)

Features:キーコンテンツ値に対応する一意の非反復可能キー利用可能です 反復性障害

使用法: キーによる値の検索

例: 辞書の単語 - 説明 ウェブサイトのユーザー名 - パスワード

主なメソッド :

1.put (オブジェクト k, オブジェクト v): キーと値のペア k-v をマップに配置します。 k がすでに存在する場合、新しい v が古い v を置き換えます

2.get (オブジェクト k): Map の k に対応する v

を返します。 3.remove(Objeck k): k が配置されているキーと値のペアを削除します。

4.containsKey(Object k): K が存在するかどうかを判断します。 Map

5.containsValue(Object v): v が Map に存在するかどうかを判定します

Map 3 種類のトラバーサル

1。

りー

2. キーのトラバーサル

 1 //用java创建一个栈 2 public class AStack { 3 public static void main(String[] args) { 4     Stacks s = new Stacks(); 5     s.push("lin"); 6     s.push("hello"); 7     s.push("hou"); 8     s.push(123); 9     System.out.println(s.pop());10     System.out.println(s.pop());11     System.out.println(s.pop());12     System.out.println(s.pop());13 }14 }15 class Stacks{16     //变继承复用为主核复用17     private LinkedList list = new LinkedList();18     public void push(Object o){19         list.addFirst(o);20     }21     public  Object pop(){22         Object o = list.removeFirst();23         return o;24     }25 }
ログイン後にコピー

3. キー値のトラバーサル

Map.Entry オブジェクトはキーと値をカプセル化します

れーれー

実装クラス:

1.HashMap :1.2 キーまたは値として null を使用できるようにします

2.Hashtable :1.0 キーまたは値として null を使用することを許可しません
3. プロパティ: Hashtable のサブクラスのキーと値は両方とも文字列であり、通常は設定ファイルの読み取りに使用されます

4. TreeMap: キーを自動的にソートするための SortcdMap (Map のサブインターフェイス) を実装します。

-- -------------------------------------- -------- -------------------------------------- -------- -------------------------------------- 上に書いてあります。何か間違っている場合は、専門家に間違いを指摘してもらいたいです。連絡したい場合は、私のメールアドレス1206835721@qq.com

にメールを送ってください。

以上が一般的に使用されるコレクションの実装クラスの違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート