概述 :
1、Set接口繼承Collection接口;
Set接口常用實現類:
1、HashSet
a、實現了 Set 接口
b、“它不保證 set 的迭代順序;
c、特別是它不保證該順序恆久不變” 允許使用 null 元素
2、LinkedHashSet
3、TreeSet
HashSet接口常用方法:
由於HashSet接口中沒有順序,所以不存在根據索引的get方法
1、add(Object obj):向Set集合中添加元素,添加成功返回true,否則返回false
import java.util.HashSet;
public class Test1 {
public static void main(String[] args) {
HashSet<String> set=new HashSet<String>();
set.add("Tom");
}
定義HashSet接口時調用HashSet無參構造方法——>創建HashMap對象並給map全局變量
向HashSet集合中添加元素,HashSet add方法實質是map全局變量調用了put方法,將數據存到了“key”中,因爲HashMap 的 key 不允許重複,所以HashSet添加的元素也不允許重複。
注意:不會按照保存的順序存儲數據;遍歷是不能保證下次結果和上次相同
import java.util.HashSet;
public class Test1 {
public static void main(String[] args) {
HashSet<String> set=new HashSet<String>();
set.add("Tom");
set.add("Jerry");
for (String name : set) {
System.out.println(name);
}//不會按照保存的順序存儲數據;遍歷是不能保證兩次的結果相同
}
2、size() :返回Set集合中的元素個數
import java.util.HashSet;
public class Test1 {
public static void main(String[] args) {
HashSet<String> set=new HashSet<String>();
set.add("Tom");
set.add("Jerry");
System.out.println(set.size());
}
}
3、remove(Object obj) : 刪除Set集合中的元素,刪除成功返回true,否則返回false。
import java.util.HashSet;
public class Test1 {
public static void main(String[] args) {
HashSet<String> set=new HashSet<String>();
set.add("Tom");
set.add("Jerry");
set.remove("Tom");
System.out.println(set.size());
}
}
4、isEmpty() :如果Set不包含元素,則返回 true ,否則返回false
import java.util.HashSet;
public class Test1 {
public static void main(String[] args) {
HashSet<String> set=new HashSet<String>();
set.add("Tom");
set.add("Jerry");
System.out.println(set.isEmpty());
}
}
5、clear() : 移除此Set中的所有元素
import java.util.HashSet;
public class Test1 {
public static void main(String[] args) {
HashSet<String> set=new HashSet<String>();
set.add("Tom");
set.add("Jerry");
set.clear();
System.out.println(set.isEmpty());
}
}
6、contains(Object o):如果Set包含指定的元素,則返回 true,否則返回false
import java.util.HashSet;
public class Test1 {
public static void main(String[] args) {
HashSet<String> set=new HashSet<String>();
set.add("Tom");
set.add("Jerry");
set.contains("Tom");
}
}
7、iterator() :返回在此Set中的元素上進行迭代的迭代器
import java.util.HashSet;
public class Test1 {
public static void main(String[] args) {
HashSet<String> set=new HashSet<String>();
set.add("Tom");
set.add("Jerry");
Iterator<String>iterator=set.iterator();
while (iterator.hasNext()) {
System.out.println(iterator.next());
}
}
}