目次
1.コレクションインターフェイスの概要
コレクションは、トップレベルのインタフェースのセットで、コレクションはまた、Cのと呼ばれるオブジェクトのグループを表しollectionの要素。一部のコレクションでは要素の複製が許可されていますが、許可されていないコレクションもあります。一部のコレクションは注文されていますが、他のコレクションは無秩序です。
2.収集機能の概要
2.1機能の追加
- boolean add(Object obj):要素を追加します
- boolean addAll(Collection c):コレクションの要素を追加します
2.2削除機能
- void clear():すべての要素を削除します
- boolean remove(Object obj):要素を削除します
- boolean removeAll(Collection c):コレクションの要素を削除します
2.3判定機能
- boolean contains(Object obj):セットに指定された要素が含まれているかどうかを判別します
- boolean containsAll(Collection c):コレクションに指定されたコレクション要素が含まれているかどうかを判別します
- boolean isEmpty():コレクションが空かどうかを判別します
2.4関数の取得
- Iterator <E> iterator():コレクションの特別なトラバーサルメソッドであるIterator
Iteratorインターフェースのメンバーメソッド:
- boolean hasNext():現在のカーソルに次の要素があるかどうかを判別します。
- Object next():要素を取得し、次の位置に移動します。
package com.hw.collection;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
/**
* Iterator iterator():迭代器,集合的专用遍历方式
* boolean hasNext():判断当前游标是否有下一个元素。
* Object next():获取元素,并移动到下一个位置。
*
* @author HW
*
*/
public class CollectionDemo3 {
public static void main(String[] args) {
// 创建集合对象
Collection<String> c = new ArrayList<String>();
// 添加元素
c.add("Hello");
c.add("World");
c.add("JavaSE");
// 通过集合对象获取迭代器对象
Iterator<String> it = c.iterator();
// 通过迭代器对象的hasNext()方法判断是否有元素
while (it.hasNext()) {
// 通过迭代器对象的next()方法获取元素,并移动到下一个位置
System.out.println(it.next());
}
}
}
2.5長さ関数
- int size():要素の数
2.6交差機能
- ブールretainAll(Collection c):両方のコレクションが持つ要素
具体的な使用法については、次のコードを参照してください。
// 创建集合对象c1
Collection<String> c1 = new ArrayList<String>();
// 添加元素
c1.add("abc1");
c1.add("abc2");
c1.add("abc3");
// 创建集合对象c2
Collection<String> c2 = new ArrayList<String>();
// 添加元素
c2.add("abc1");
c2.add("abc2");
c2.add("abc3");
c2.add("abc4");
/*
* c1对c2做交集,最终的结果保存在c1中,c2不变
* retainAll()返回值表示的是c1是否发生改变
*/
System.out.println("c1.retainAll(c2):" + c1.retainAll(c2));
System.out.println(c1);
System.out.println(c2);
System.out.println("=========================");
/*
* c2对c1做交集,最终的结果保存在c2中,c1保持不变
* retainAll()返回值表示的是c2是否发生改变
*/
System.out.println("c2.retainAll(c1):" + c2.retainAll(c1));
System.out.println(c1);
System.out.println(c2);
操作の結果は次のとおりです。
c1.retainAll(c2):false
[abc1, abc2, abc3]
[abc1, abc2, abc3, abc4]
=========================
c2.retainAll(c1):true
[abc1, abc2, abc3]
[abc1, abc2, abc3]
2.7コレクションを配列に変換する
- Object toArray():コレクションを配列に変換します。これにより、コレクションのトラバーサルを実現できます。
具体的な使用法については、次のコードを参照してください。
// 创建集合对象
Collection<String> c = new ArrayList<String>();
// 添加元素
c.add("Hello");
c.add("World");
c.add("JavaSE");
// 把集合转换成数组
Object[] objs = c.toArray();
for (Object obj : objs) {
String str = (String) obj;
System.out.println(str + "---" + str.length());
}
3.コレクションケース
3.1文字列を保存してトラバースする
分析手順:
- コレクションオブジェクトを作成する
- 要素を追加
- コレクションを繰り返し処理します
- コレクションオブジェクトを介してイテレータオブジェクトを取得します
- イテレータオブジェクトのhasNext()メソッドを使用して要素があるかどうかを確認します
- イテレータオブジェクトのnext()メソッドを介して要素を取得し、次の位置に移動します
コードは次のように表示されます。
package com.hw.collection;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
/**
* 存储字符串并遍历
*
* @author HW
*
*/
public class CollectionTest {
public static void main(String[] args) {
// 创建集合对象
Collection<String> c = new ArrayList<String>();
// 添加元素
c.add("Jmeter");
c.add("Selenium");
c.add("AirTest");
// 通过集合对象获取迭代器对象
Iterator<String> it = c.iterator();
// 通过迭代器对象的hasNext()方法判断是否有元素
while (it.hasNext()) {
System.out.println(it.next());
}
}
}
3.2カスタムオブジェクトを保存してトラバースする
- 学生(名前、年齢)
分析手順:
- コレクションオブジェクトを作成する
- 学生オブジェクトを作成する
- 学生オブジェクトをコレクションオブジェクトに追加します
- コレクションを繰り返し処理します
- コレクションオブジェクトを介してイテレータオブジェクトを取得します
- イテレータオブジェクトのhasNext()メソッドを使用して要素があるかどうかを確認します
- イテレータオブジェクトのnext()メソッドを介して要素を取得し、次の位置に移動します
コードは次のように表示されます。
package com.hw.collection;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
/**
* 存储自定义对象并遍历
*
* @author HW
*
*/
public class CollectionTest2 {
public static void main(String[] args) {
// 创集合对象
Collection<Student> c = new ArrayList<Student>();
// 创建学生对象
Student s1 = new Student("貂蝉", 25);
Student s2 = new Student("小乔", 16);
Student s3 = new Student("黄月英", 20);
Student s4 = new Student();
s4.setName("西施");
s4.setAge(23);
// 把学生对象添加到集合中
c.add(s1);
c.add(s2);
c.add(s3);
c.add(s4);
// 匿名对象
c.add(new Student("杨贵妃", 18));
// 遍历集合
// 通过集合对象获取迭代器对象
Iterator<Student> it = c.iterator();
// 通过迭代器对象的hasNext()方法判断是否有元素
while (it.hasNext()) {
// 通过迭代器对象的next()方法获取元素,并移动到下一个位置
Student s = it.next();
System.out.println(s.getName() + "---" + s.getAge());
}
}
}