1.CollectionSet——>set
Set分为TreeSet 和 HashSet ,接下来总结Hashset常用方法:
2.HashSet常用方法:
①add(Object obj):向Set集合中添加元素,添加成功返回true,否则返回false
package list;
import java.util.HashSet;
import java.util.Iterator;
public class Test {
public static void main(String[] args) {
HashSet<String> set = new HashSet<String>(); //调用HashSet无参构造方法,创建HashMap对象并给map全局变量
set.add("jim");
set.add("kim"); //注意:不会按照保存的顺序存储数据;遍历是不能保证下次结果和上次相同
System.out.println(set.add("kim"));
}
}
显示false,因为不允许重复添加。
原因:向HashSet集合中添加元素,HashSet add方法实质是map全局变量调用了put方法,将数据存到了key,因为HashMap 的 key不允许重复,所以HashSet添加的元素也不允许重复。
HashSet add方法源码如下
public HashSet() {
map = new HashMap<>();
}
public boolean add(E e) {
return map.put(e, PRESENT)==null;
}
②size() :返回Set集合中的元素个数
package list;
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("jim");
set.add("kim");
System.out.println(set.size());
}
}
输出结果是2.
③remove(Object obj) : 删除Set集合中的元素,删除成功返回true,否则返回false。
package list;
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("jim");
set.add("kim");
System.out.println(set.remove("kim"));
System.out.println(set.remove("ji"));
}
}
④isEmpty() :如果Set不包含元素,则返回 true ,否则返回false
package list;
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("jim");
set.add("kim");
System.out.println(set.isEmpty());
}
}
输出结果为false
⑤clear() : 移除此Set中的所有元素
package list;
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("jim");
set.add("kim");
System.out.println(set.size());
set.clear();
System.out.println(set.size());
System.out.println(set.isEmpty());
}
}
⑥iterator() :返回在此Set中的元素上进行迭代的迭代器,实现遍历。
package list;
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("jim");
set.add("kim");
Iterator<String> iterator = set.iterator();
while(iterator.hasNext()) {
System.out.println(iterator.next());
}
for(String str: set) {
System.out.println(str);
}
}
}
⑦contains(Object o):如果Set包含指定的元素,则返回 true,否则返回false
package list;
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("jim");
set.add("kim");
boolean flag;
flag = set.contains("ki");
System.out.println(flag);
}
}
结果显示false。