概述 :
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());
}
}
}