分析:プログラムの実行時に必要なオブジェクトの数がわからない場合、またはより複雑な方法でオブジェクトを保存する必要がある場合は、Javaコレクションフレームワークを使用できます。
コレクションの削除方法が有効になっている場合、コレクション内のすべての要素のインデックスが自動的に維持されます。
このコレクションは、配列の欠点を完全に補償します。
02。コレクションフレームワークの内容
コレクションフレームワークにはすべて、外部インターフェイス、インターフェイスの実装、および収集操作のアルゴリズムの3つの主要なコンテンツが含まれています。
01。インターフェイス:コレクションを表す抽象データ型
02。実装:収集フレームワークにおけるインターフェイスの特定の実装
03。アルゴリズム:特定のコレクションフレームワークのインターフェイスを実装するオブジェクトにいくつかの有用な計算方法を完成させます。
Javaコレクションフレームワーク図:
01。コレクションインターフェイスには、Ununique(繰り返される)および順序付けられていないオブジェクトのグループが含まれています。
02.セットインターフェイスは、コレクションインターフェイスを継承し、一意の一連の(繰り返しは許可されていません)と順序付けられていないオブジェクトを保存します。
03。リストインターフェイスは、コレクションインターフェイスを継承し、一意ではないオブジェクトのセット(繰り返し繰り返し許可されている)を保存します(要素の挿入順に要素を配置し、再配置されません)
04。マップインターフェイスには、キーと価値のあるオブジェクトのペアが保存され、キーのマッピングが値のマッピングを提供します。マップ内のキーは注文を必要とせず、繰り返しは許可されていません。値も注文を必要としませんが、繰り返しは許可されています。
05。Iteratorインターフェイスは、アクセス要素とトラバース要素の定義を担当するインターフェイスです。
はじめに始めましょう:
1.リストインターフェイス
リストインターフェイスは、コレクションインターフェイスを継承し、一意ではない(再現性があり、順序付けられている一連のオブジェクトを保存します(要素の挿入順に要素を配置し、再配置されません)
リストインターフェイスを実装する一般的なクラスには、arrayListとlinkedListが含まれます
ArrayListは配列をカプセル化し、さまざまな長さの配列を実装します
LinkedListはLinked List Storageメソッドを使用します。その利点は、要素を挿入および削除するときに比較的効率的であることです。
01.ArrayListコレクションクラス
パッケージcn.day001; public class penguin {private string name = "anonymous";プライベートストリングセックス= "Q"; public penguin(){} public penguin(string name、string sex){this.name = name; this.sex = sex; } public string getname(){return name; } public void setName(string name){this.name = name; } public string getSex(){return sex; } public void setSex(string sex){this.sex = sex; }}テストクラス:
パッケージcn.day001; import java.util.arraylist; Import java.util.iterator; import java.util.list; // on-machine 1 arraylistコレクションクラスパブリッククラステスト{public static void main(string [] args){// 1。複数のペンギンオブジェクトを作成しますPenguin Penguin = new Penguin( "Nannan"、 "qzi"); Penguin Penguin2 = new Penguin( "Huahua"、 "qmei"); Penguin Penguin3 = new Penguin( "Zhezhe"、 "qmei"); // 2。 ArrayList Collectionオブジェクトを作成し、2つのペンギンオブジェクトをITリストに入れます。 Penguins.Add(ペンギン); Penguins.Add(Penguin2); Penguins.Add(Penguin3); // 3。出力セットシステムのペンギンの数。 // 4。 (int i = 0; i <penguins.size(); i ++){penguin pg =(penguin)penguins.get(i); System.out.println(pg.getName()+"/t"+pg.getSex()); } // 5。 Zhe Penguin Penguins.Remove(Penguin3)を削除します。 // 6。セットにまだzhe penguinがあるかどうかを決定} else {system.out.println( "Indest Zhe Penguin"); } system.out.println(); // 7。 Iteratorを使用してSystem.out.println( "Iteratorを使用する")を繰り返します。 iterator <Penguin> its = penguins.iterator(); while(its.hasnext()){penguin pg = its.next(); System.out.println( "name"+pg.getName()+"/t gender"+pg.getsex()); } system.out.println(); // 8。 System.out.Out.printlnを通過するために使用してください( "foreach to traverse"); for(penguin pg:penguins){system.out.println( "name"+pg.getname()+"/t gender"+pg.getsex()); }}}02.LinkedList Collectionクラス
パッケージcn.day001; import java.util.linkedlist; // linkedlistパブリッククラスの複数の特別な方法{public static void main(string [] args){// 1。複数のペンギンオブジェクトを作成しますPenguin Penguin = new Penguin( "Nannan"、 "qzi"); Penguin Penguin2 = new Penguin( "Huahua"、 "qmei"); Penguin Penguin3 = new Penguin( "Zhezhe"、 "qmei"); // 2。 ArrayList Collectionオブジェクトを作成し、2つのペンギンオブジェクトをITに入れます//リスト<Penguin> Penguins = new ArrayList <Penguin>(); linkedlist <penguin> penguins = new LinkedList <Penguin>(); Penguins.Add(ペンギン); Penguins.Add(Penguin2); Penguins.Add(Penguin3); // 3。セットシステムにペンギンの数を出力します。 // 4。セットペンギンfirstpenguins = penguins.getFirst()で最初のペンギンのニックネームを表示System.out.println( "最初のペンギンのニックネームは次のとおりです。 // 5。コレクションの最後のペンギンのニックネームをチェックしてくださいpenguin lastpenguins = penguins.getlast(); System.out.println( "最後のペンギンのニックネームは次のとおりです。"+lastpenguins.getName()); // 6。最初のペンギンと最後のペンギンペンギンを削除してください。RemoveFirst(); penguins.removelast(); System.out.println( "削除後のペンギンの数"+penguins.size()); }} 2.マップインターフェイス
01.Hashmap Collectionクラス
パッケージcn.day002; import java.util.hashmap; import java.util.iterator; import java.util.map; import java.util.scanner; import java.util.set; string> pet = new hashmap <string、string>(); pet.put( "hehe"、 "dog"); pet.put( "haha"、 "penguin"); pet.put( "haha"、 "cat");スキャナーinput = new Scanner(System.in); System.out.println( "ペットのニックネームを入力してください:");文字列名= input.next(); if(pet.containskey(name)){string petname = pet.get(name); System.out.println(name+"対応するペット"+petName); } else {system.out.println( "申し訳ありませんが、このニックネームに対応するペットはありません"); } system.out.println(); // system.out.println( "Iterator Traversalを使用する")を介して繰り返します。 <string> keys = pet.keyset(); //すべてのキー値を取得するiterator <string> it = keys.iterator(); // iteratoerオブジェクトを取得しますwhile(it.hasnext()){string key =(string)it.next(); // key value string pets = pet.get(key);値: "+key+"/tvalue値: "+ペット); }}}上記の記事Javaのコレクションフレームワークの詳細な分析は、私があなたと共有するすべてのコンテンツです。私はそれがあなたに参照を与えることができることを願っています、そしてあなたがwulin.comをもっとサポートできることを願っています。