上篇文章讲述了List实现类ArrayList的常用方法,那么本篇文章来讨论一下Collection另一个分支Set接口的实现类HashSet的常用方法总结。
HashSet常用方法。
1.add(Object obj):向Set集合中添加元素,添加成功返回true,否则返回false。
怎么能出现添加不成功的情况呢?因为HashSet不同于ArrayList,这里的add不可以添加重复的元素,且无序,所以就没有了get方法。所以如果添加已经存在的对象,就会返回false呗。
2.size() :返回Set集合中的元素个数
package jjj;
import java.util.HashSet;
public class Test {
public static void main(String[] args) {
HashSet<String> set=new HashSet<String>();
set.add("tom");
set.add("bob");
set.add("kate");
System.out.println(set.size());
}
}
输出结果:3
3.isEmpty() :如果Set不包含元素,则返回 true ,否则返回false。
package jjj;
import java.util.HashSet;
public class Test {
public static void main(String[] args) {
HashSet<String> set=new HashSet<String>();
set.add("tom");
set.add("bob");
set.add("kate");
System.out.println(set.isEmpty());
}
}
输出结果:false
4.clear() : 移除此Set中的所有元素
package jjj;
import java.util.HashSet;
public class Test {
public static void main(String[] args) {
HashSet<String> set=new HashSet<String>();
set.add("tom");
set.add("bob");
set.add("kate");
set.clear();
System.out.println(set.isEmpty());
}
}
输出结果:true。
5.contains(Object o):如果Set包含指定的元素,则返回 true,否则返回false
package jjj;
import java.util.HashSet;
public class Test {
public static void main(String[] args) {
HashSet<String> set=new HashSet<String>();
set.add("tom");
set.add("bob");
set.add("kate");
System.out.println(set.contains("bob"));
System.out.println(set.contains("lucy"));
}
}
输出结果:true
false
6.remove(Object obj) : 删除Set集合中的元素,删除成功返回true,否则返回false。
package jjj;
import java.util.HashSet;
public class Test {
public static void main(String[] args) {
HashSet<String> set=new HashSet<String>();
set.add("tom");
set.add("bob");
set.add("kate");
System.out.println(set.remove("bob"));
System.out.println(set.size());
}
}
输出结果:true
2
7.iterator() :返回在此Set中的元素上进行迭代的迭代器。
package jjj;
import java.util.HashSet;
import java.util.Iterator;
public class Test {
public static void main(String[] args) {
HashSet<String> set=new HashSet<String>();
set.add("tom");
set.add("bob");
set.add("kate");
Iterator<String> iterator=set.iterator();
while(iterator.hasNext()) {
System.out.println(iterator.next());
}
}
}
输出结果:tom
bob
kate
但是注意:下一次执行时顺序可能不是这样的,因为add方法是无序的,所以遍历集合也是无序的。