java集合之set

   日期:2020-05-17     浏览:124    评论:0    
核心提示:Set集合的特点:不能存储相同的元素。HashSet散列将元素分散在表的各个位置上,所以访问它们的顺序几乎是随机的。只有不关心集合中元素的顺序时才应该使用 HashSet。TreeSetTreeSet也不能存放重复对象,但是TreeSet会自动排序,如果存放的对象不能排序则会报错,所以存放的对象必须指定排序规则。排序规则包括自然排序和客户排序。  ①自然排序:TreeSet要添加哪个对象就在哪个对象类上面实现java.lang.Comparable接口,并且重写comparaTo()方法,返回java

Set集合的特点:

  • 不能存储相同的元素。
    HashSet
  • 散列将元素分散在表的各个位置上,所以访问它们的顺序几乎是随机的。只有不关心集合中元素的顺序时才应该使用 HashSet。
    TreeSet
  • TreeSet也不能存放重复对象,但是TreeSet会自动排序,如果存放的对象不能排序则会报错,所以存放的对象必须指定排序规则。排序规则包括自然排序和客户排序。
      ①自然排序:TreeSet要添加哪个对象就在哪个对象类上面实现java.lang.Comparable接口,并且重写comparaTo()方法,返回0则表示是同一个对象,否则为不同对象。
      ②客户排序:建立一个第三方类并实现java.util.Comparator接口。并重写方法。定义集合形式为TreeSet ts = new TreeSet(new 第三方类());

常用方法

  • 添加add
HashSet<String> set = new HashSet<>();
set.add("唐僧");
set.add("孙悟空");
set.add("猪八戒");
set.add("沙僧");
set.add("唐僧");
set.add("猪八戒");
System.out.println(set);//[沙僧, 孙悟空, 猪八戒, 唐僧] 说明了hashSet 无序,不可重复的特点
  • 删除某一个remove()
HashSet<String> set = new HashSet<>();
set.add("唐僧");
set.add("孙悟空");
set.add("猪八戒");
set.add("沙僧");
set.remove("唐僧");
set.remove("白骨精");
System.out.println(set);//[沙僧, 孙悟空, 猪八戒] 如果存在就删除
  • 删除所有元素 clear()
HashSet<String> set = new HashSet<>();
set.add("唐僧");
set.add("孙悟空");
set.add("猪八戒");
set.add("沙僧");
set.clear();
System.out.println(set);//[]
  • 是否包含指定的元素 contains(Object o)
HashSet<String> set = new HashSet<>();
set.add("唐僧");
set.add("孙悟空");
set.add("猪八戒");
set.add("沙僧");
System.out.println(set.contains("唐僧"));//true
System.out.println(set.contains("白骨精"));//false
  • 返回 set 的哈希码值hashCode()
  • 判断是否为空 isEmpty()
HashSet<String> set = new HashSet<>();
set.add("唐僧");
set.add("孙悟空");
set.add("猪八戒");
set.add("沙僧");
System.out.println(set.isEmpty());//false
set.clear();
System.out.println(set.isEmpty());//true
  • 迭代器 iterator()
HashSet<String> set = new HashSet<>();
set.add("唐僧");
set.add("孙悟空");
set.add("猪八戒");
set.add("沙僧");
Iterator<String> iterator = set.iterator();
while (iterator.hasNext()){
    System.out.println(iterator.next());
}
  • 返回 set 中的元素数size()
HashSet<String> set = new HashSet<>();
set.add("唐僧");
set.add("孙悟空");
set.add("猪八戒");
set.add("沙僧");
System.out.println(set.size());//4
 
标签: 文章标签: java
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
更多>相关资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服