ディレクトリ:
ArrayListシーケンシャル汎用コンテナ
HashSetコレクションコンテナ
HashMap
Javaを使用してメモ帳の機能を実装します。まず、メモ帳の必要な関数をリストします。
はレコード (文字列) を追加できます。
はレコードの 1 つを取得できます。
はリストを取得できます。すべての記録。
このメモ帳が大規模なプログラムの一部である場合、つまり上位レベルのプログラムがある場合、上位レベルのプログラムはこのメモ帳にある上記のデータの一部を呼び出す可能性があります。
それで、このメモ帳のインターフェイスの上にリストされている関数を呼び出します。
その後、これらのインターフェイスを呼び出すには、Notepad クラスのパブリック関数 (メソッド) を使用します。
しかし、どうやって録音を実現するのでしょうか?配列の長さは事前に設定されているため、記録された文字列を配列に記録することはできません。このとき、汎用コンテナ Arraylist
が使用されます。この arraylist もシステムのクラスであるため、これを使用する場合は、新しいオブジェクトを定義する必要があります: private ArraylistNotes = new Arraylist
(); .util.ArrayList;arraylist は、メモ帳の要件を満たす、数に制限なく任意のデータを格納できます。
notes.remove(index)
notes.get(index)
notes.toArray(String[] a =new String[notes.size()])
以上の操作でメモ帳のインターフェース機能を実装します。
実行:また、コンテナ型にはクラスである HashSet などのコレクションコンテナ (Set) も含まれます。その特徴は、内部要素がソートされず、重複した要素を持つことができないことです。これは数学と同じです。コレクションの概念は同じです。
プログラムの実行結果から、ArrayList と HashSet の 2 つのコンテナの違いがわかります。注: プログラムからは、2 つのコンテナーの出力でコンテナーの各要素が別の配列に割り当てられなくなり、for each ループを通じて配列内の各要素が出力されることもわかります。ここではコンテナ オブジェクトを直接出力していますが、これは問題ありません。これは、次の理由によるものです: {
クラスに「public String toString() {}」関数がある場合、このクラスのオブジェクト名を直接 println することができ、2 番目に示すように、出力時に toString 関数が自動的に呼び出されます。赤い箱。したがって、ArrayList と HashSet の 2 つのパブリック クラスのソース ファイルには、「public String toString() {}」と同様の関数が存在するはずだと推測します。
}
-------------------------------------- --------------------------------------------------
HashMap コンテナ: HashMap
図に示すように、キーが複数回入力された場合、このキーは最後に入力された値に対応します。 (金種を入力し、値を出力するプログラム)米ドルの名前 (例: 1 セントは 1penny と呼ばれます)