Set集合常用方法
Set集合的部分方法与List集合中的方法有所不同
格式为:
import java.util.HashSet;
import java.util.Set;
public class Test2 {
public static void main(String[] args) {
Set<String> names = new HashSet<String>();
}
.add()方法:
作用:向集合中添加数据;且Set集合不能存储重复的数据
格式:对象名.add(添加内容);(添加内容必须与对象的类型一致)
.size()方法:
作用:统计集合中有多少元素(元素可以重复储存)
格式:对象名.size();
代码:
names.add("Jim");//添加数据。
names.add("Jim");
names.add("Tom");
names.add("Dan");
int size = names.size();
System.out.println(size);
结果为:
3
.isEmpty()方法:
作用:判断集合中是否有元素,若有则返回true;若没有,则返回false
格式:对象名.isEmpty();
代码:
boolean flag = names.isEmpty();
System.out.println(flag);//false
.clear()方法:
作用:清空集合中的所有元素
格式:对象名.clear();
代码:
names.clear();
flag = names.isEmpty();//true
System.out.println(flag);
List集合按照存储顺序保存的,Set集合中HashSet不是按照存储的顺序保存,具有不确定性;LinkedHashSet是按照用户存储的顺序存储的;TreeSet按照自然顺序保存。因此,不存在List集合中的.get(index)方法:.add(index, ,element)方法和.set(index, element)方法。且如果需要进行遍历集合中的数据,则不能使用传统的for循环。
方法一:
for (String name : names) {
System.out.println(name);
}
方法二:
Iterator iterator = names.iterator();
while(iterator.hasNext()) {
System.out.println(iterator.next());
}
整体代码:
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
public class Test2 {
public static void main(String[] args) {
//1、List集合可以保存重复的数据,但是Set集合不可以
//2、List集合按照存储顺序保存的,Set集合中HashSet不是按照存储的顺序保存,具有不确定性;
//LinkedHashSet是按照用户存储的顺序存储的;TreeSet按照自然顺序保存
Set<String> names = new HashSet<String>();//调用HashSet构造方法
//public HashSet() {
// map = new HashMap<>();//为map成员变量赋值,HashMap对象
//}
names.add("Jim");//源码://ctrl+点add Open Implementation 点HashSet
//public boolean add(E e) {
// return map.put(e, PRESENT)==null;//向Map集合中HashMap容器添加数据 PRESENT常量
//本质:HashSet存储数据时本质是存到了HashMap集合的key
//}
names.add("Lucy");
names.add("Bob");
boolean flag = names.isEmpty();
System.out.println(flag);
//names.clear();
flag = names.isEmpty();
System.out.println(flag);
for (String name : names) {
System.out.println(name);
}
Iterator iterator = names.iterator();
while(iterator.hasNext()) {
System.out.println(iterator.next());
}
}
}