HashSet学习
-
HashSet定义:
-
-
HashSet允许有null值;
-
HashSet是无序的,即不会记录插入的顺序;
-
HashSet不是线程安全的,如果多个线程尝试同时修改HashSet,则最终结果是不确定的。必须在多线程访问时显式同步对HashSet的并发访问;
-
HashSet实现了Set接口;
-
-
HashSet语法:
//创建一个HashSet对象
HashSet<String> site=new HashSet<String>();
-
HashSet类的常用方法:增,删,改,查
-
添加元素:add();
public class ListDemo05 {
public static void main(String[] args) {
HashSet<String> site=new HashSet<>();
site.add("Google");
site.add("Google");//hashSet不允许有重复元素
site.add("baidu");
site.add("haha");
System.out.println(site);//[Google, haha, baidu]
}
}
-
判断元素是否存在:contains();
public class ListDemo05 {
public static void main(String[] args) {
HashSet<String> site=new HashSet<>();
site.add("Google");
site.add("baidu");
site.add("haha");
System.out.println(site.contains("Good"));//false
}
}
-
删除元素:remove();
public class ListDemo05 {
public static void main(String[] args) {
HashSet<String> site=new HashSet<>();
site.add("Google");
site.add("baidu");
site.add("haha");
site.remove("haha");
System.out.println(site);//[Google, baidu]
}
} -
计算大小:size();
public class ListDemo05 {
public static void main(String[] args) {
HashSet<String> site=new HashSet<>();
site.add("Google");
site.add("baidu");
site.add("haha");
System.out.println(site.size());//3
}
}
-
迭代HashSet:for-each
public class ListDemo05 {
public static void main(String[] args) {
HashSet<String> site=new HashSet<>();
site.add("Google");
site.add("baidu");
site.add("haha");
System.out.println(site);//[Google, haha, baidu] 无序
System.out.println("--------------------");
//遍历
for (String s: site) {
System.out.println(s);//Google
}
}
}
-

浙公网安备 33010602011771号