1)コレクションの概要
コレクション:コレクションは、Javaで提供される一種のコンテナーであり、複数のデータを格納するために使用できます。
コレクションと配列はどちらもコンテナなので、違いは何ですか?
*配列の長さは固定されています。コレクションの長さは可変です。
*同じ型の要素は配列に格納され、基本的なデータ型の値を格納できます。
コレクションはオブジェクトを格納します。また、オブジェクトのタイプに一貫性がない場合があります。開発では、多くのオブジェクトがある場合、コレクションがストレージに使用されます。
コレクションは、ストレージ構造に応じて、1列のコレクション `java.util.Collection`と2列のコレクション` java.util.Map`の2つのカテゴリに分類できます。今日では、主に `Collection`コレクションを紹介します。
コレクション:単一列のコレクションクラスのルートインターフェイス。特定のルールを満たす一連の要素を格納するために使用されます。
`java.util.List`と` java.util.Set`の2つの重要なサブインターフェースがあります。
その中で、「リスト」の特徴は整然とした要素と繰り返し可能な要素です。「セット」の特徴は、要素が無秩序で再現性がないことです。
`List`インターフェースの主な実装クラスは、` java.util.ArrayList`と `java.util.LinkedList`です。
`Set`インターフェースの主な実装クラスは、` java.util.HashSet`と `java.util.TreeSet`です。
コレクションの共通メソッド
public boolean add(E e):指定されたオブジェクトを現在のコレクションに追加します。
public void clear():コレクション内のすべての要素をクリアします。
public boolean remove(E e):指定されたオブジェクトを現在のコレクションから削除します。
public boolean contains(E e):現在のコレクションに特定のオブジェクトが含まれているかどうかを判断します。
public boolean isEmpty():現在のコレクションが空かどうかを判断します。
public int size():コレクション内の要素の数を返します。
public Object [] toArray():コレクションの要素を配列に格納します。
import java.util.ArrayList; import java.util.Collection; public class Demo1Collection { public static void main(String [] args){ //コレクションオブジェクトを作成 //多形フォームを使用 コレクション<String> coll = new ArrayList <String >(); //使用方法 // Add関数boolean add(String s) coll.add( "小 李广"); coll.add( "Sweeping monk"); coll.add( "石破天"); システム.out.println(coll); // boolean contains(E e)oがコレクションに存在するかどうかを判別します System.out.println( "スイープモンクがコレクションに存在するかどうかを判別します" + coll.contains( "sweeping monk")); // boolean remove(E e)コレクションのo要素を 削除しますSystem.out.println( "Remove Shi Potian:" + coll.remove( "石破天")); System。out.println( "操作後のコレクション内の要素:" + coll); //サイズ()コレクションにはいくつかの要素があります System.out.println( "There are" + coll.size()+ "elements" in the collection); //オブジェクト[] toArray()はオブジェクト配列 Object [に変換されます] objects = coll.toArray(); // (int i = 0; i <objects.length; i ++)の配列をトラバースし ます{ System.out.println(objects [i]); } // void clear()コレクションをクリアします coll.clear(); System.out.println( "コレクション内のコンテンツは:" + coll); //ブールisEmpty()それが空かどうかを判断します System.out.println(coll.isEmpty()); } }
2)リストコレクション
リストコレクションの機能:
1.注文したコレクション
2.インデックスを使用すると、インデックスを介してコレクション内の要素を正確に操作できます
3.コレクション内に重複する要素が存在する可能性があります。重複する要素を要素のequalsメソッドと比較してください。
一般的な方法
リストのサブクラス
1)ArrayListコレクション
基本フォーマット:
2)LinkedListコレクション
3)セットのコレクション
コレクション機能の設定
1.障害
2.繰り返さないでください
コレクションサブクラスを設定する
1)hashSetコレクション
HashSetはカスタムタイプを格納します
パッケージテスト; import java.util.Objects; public class Student { private String name; 私有年齢; public Student(String name、int age){ this.name = name; this.age = age; } public String getName(){ 戻り名; } public void setName(String name){ this.name = name; } public int getAge(){ 年齢を返す; } public void setAge(int age){ this.age = age; } @Override public String toString(){ return "Student [name =" + name + "、age =" + age + "]"; } @Override public int hashCode(){ 戻りObjects.hash(name、age); } @Override public boolean equals(Object obj){ if(this == obj) return true; if(obj == null || getClass()!= obj.getClass())は falseを返します。 学生学生=(学生)obj; return age == student.age && Objects.equals(name、student.name); } }
パッケージテスト; import java.util.HashSet; public class test3 { public static void main(String [] args){ HashSet <Student> stuSet = new HashSet <Student>(); Student stu = new Student( "に関して谦"、43); stuSet.add(stu); stuSet.add(new Student( "郭德纲"、44)); stuSet.add(new Student( "に関して谦"、43)); stuSet.add(new Student( "郭麒麟"、23)); for(Student stu1:stuSet){ System.out.println(stu1); } } }
2)LinkedHashSet