Javaコレクションコレクションインターフェイスでの一般的なメソッドのデモンストレーション
- add(Objec tobj)とaddAll(Collection coll)を追加します
- 有効な要素の数を取得しますintsize()
- コレクションをクリアするvoidclear()
- 空のコレクションですブールisEmpty()
- 要素を含めるかどうかbooleancontains(Object obj)およびboolean containsAll(Collection c)
- remove boolean remove(Object obj)およびboolean removeAll(Collection coll)
- 2つのコレクションの交差点を取りますbooleanretainAll(Collection c)
- コレクションはequalbooleanequals(Object obj)ですか
- オブジェクト配列に変換Object[]toArray()
- コレクションオブジェクトのハッシュ値を取得します
- トラバースイテレータ()
インターフェイスはオブジェクトを作成できないため、次のメソッドのデモンストレーションは、コレクションインターフェイスのサブインターフェイスListの実装クラスArrayList()を使用して示されます。
add(Objec tobj)とaddAll(Collection coll)を追加します
(1)add(Objec tobj)はオブジェクトを追加します。基本データ型の場合は、自動的にボックス化されます。
ArrayList list1 = new ArrayList();
Date date = new Date();
list1.add(1);//基本数据类型自动装箱
list1.add(date);//引用数据类型
System.out.println(list1);
出力結果
(2)addAll(Collection coll)はコレクションを追加します。
ArrayList list1 = new ArrayList();
list1.add("张三");
list1.add(123);
ArrayList list2 = new ArrayList();
list2.add("李四");
list2.add(55);
list1.addAll(list2);//将集合list2加到集合list1中
System.out.println(list1);
出力結果
有効な要素の数を取得しますintsize()
int size()
ArrayList list1 = new ArrayList();
Date date = new Date();
list1.add(1);
list1.add(date);
System.out.println(list1.size());
出力結果
コレクションをクリアするvoidclear()
void clear()
ArrayList list1 = new ArrayList();
Date date = new Date();
list1.add(1);
list1.add(date);
list1.clear();//清空集合
System.out.println(list1.size());//输出元素个数
出力結果
空のコレクションですブールisEmpty()
ブールisEmpty()
ArrayList list1 = new ArrayList();
Date date = new Date();
System.out.println(list1.isEmpty());//未添加元素,判断是否是空集合
list1.add(1);
list1.add(date);
System.out.println(list1.isEmpty());//添加完元素,判断是否是空集合
出力結果
要素を含めるかどうかbooleancontains(Object obj)およびboolean containsAll(Collection c)
(1)boolean contains(Object obj):要素のequalsメソッドによって、同じオブジェクトであるかどうかが判別されます。
ArrayList list1 = new ArrayList();
Date date = new Date();
list1.add(1);
list1.add(date);
System.out.println(list1.contains(1));
出力結果
(2)boolean containsAll(Collection c):要素のequalsメソッドを呼び出すことによっても比較されます。2つのセットの要素を取り、それらを1つずつ比較します。
ArrayList list1 = new ArrayList();
ArrayList list2 = new ArrayList();
//list1赋值
list1.add(1);
list1.add("张三");
//list2赋值
list2.add(1);
list2.add("张三");
System.out.println(list1.containsAll(list2));
出力結果に関する注意
:カスタムオブジェクトの場合は、オブジェクト内のObjectのequalsメソッドをオーバーライドする必要があります。それ以外の場合、比較はアドレスです。オーバーライドした後、プロパティの値が比較されます。
remove boolean remove(Object obj)およびboolean removeAll(Collection coll)
(1)boolean remove(Object obj):要素のequalsメソッドを使用して、削除する要素かどうかを判別します。最初に見つかった要素のみが削除されます。
ArrayList list1 = new ArrayList();
list1.add("张三");
list1.add("李四");
list1.add("张三");
list1.add("张三");
list1.add("张三");
list1.remove("张三");//在集合list1中删除元素"张三"
System.out.println(list1);
出力結果
(2)boolean removeAll(Collection coll):現在のコレクションの差を取ります。(すなわち、AB = A-AB)
ArrayList list1 = new ArrayList();
ArrayList list2 = new ArrayList();
list1.add("张三");
list1.add("李四");
list2.add("王五");
list2.add("李四");
list1.removeAll(list2);
System.out.println(list1);
出力結果
2つのコレクションの交差点を取りますbooleanretainAll(Collection c)
boolean holdAll(Collection c):cに影響を与えずに、交差の結果を現在のコレクションに格納します。
ArrayList list1 = new ArrayList();
ArrayList list2 = new ArrayList();
list1.add("张三");
list1.add("李四");
list2.add("王五");
list2.add("李四");
list1.retainAll(list2);
System.out.println(list1);
出力結果
コレクションはequalbooleanequals(Object obj)ですか
boolean equals(Object obj)
ArrayList list1 = new ArrayList();
ArrayList list2 = new ArrayList();
list1.add("张三");
list1.add("李四");
list2.add("张三");
list2.add("李四");
System.out.println(list1.equals(list2));
出力結果に関する注意
:原則は、比較のためにコレクション要素のequalsメソッドを呼び出すことです。コレクション要素がカスタムオブジェクトの場合は、equalsメソッドを書き換える必要があります。そうでない場合は、アドレス値が比較されます。
オブジェクト配列に変換Object[]toArray()
Object [] toArray()
ArrayList list1 = new ArrayList();
list1.add("张三");
list1.add("李四");
Object[] objects = list1.toArray();
コレクションオブジェクトのハッシュ値を取得します
ハッシュコード()
ArrayList list1 = new ArrayList();
list1.add("张三");
list1.add("李四");
System.out.println(list1.hashCode());
出力結果
トラバースイテレータ()
iterator()
ArrayList list1 = new ArrayList();
list1.add("张三");
list1.add("李四");
Iterator iterator = list1.iterator();
while (iterator.hasNext()){
String next = (String) iterator.next();
System.out.println(next);
}
出力結果