赞
踩
常用方法如下表所示:
| 方法名 | 方法说明 |
| — | — |
| add() | 往集合中添加元素 |
| contains() | 判断集合中是否存在某元素 |
| remove() | 从集合中删除指定的元素 |
| clear() | 清除集合中所有元素 |
| size() | 获取集合中元素个数 |
| isEmpty() | 判断集合元素是否为空 |
| Iterator() | 返回元素的迭代器 |
常用方法使用示例:
public static void main(String[] args) { // 创建存储字符串的HashSet集合 Set<String> objects = new HashSet<>(); // 往集合中添加元素 objects.add("123"); objects.add("456"); objects.add("789"); // 判断集合是否为空 boolean empty = objects.isEmpty(); System.out.println(empty); // 判断集合是否包含元素123 boolean contains = objects.contains("123"); System.out.println(contains); // 移除集合元素123 objects.remove("123"); System.out.println(objects); // 获取迭代器,遍历集合所有元素 Iterator<String> iterator = objects.iterator(); while(iterator.hasNext()){ System.out.println(iterator.next()); } }
执行结果:
false
true
[456, 789]
456789
在以下代码中,往集合中存储元素的顺序为:123-aa-a
,输出顺序却是aa-a-123
,这就是 HashSet 的无序性。
public static void main(String[] args) { // 创建存储字符串的HashSet集合 Set<String> objects = new HashSet<>(); // 往集合中添加元素 objects.add("123"); objects.add("aa"); objects.add("a"); // 获取迭代器,遍历集合所有元素 Iterator<String> iterator = objects.iterator(); while(iterator.hasNext()){ System.out.println(iterator.next()); } }
执行结果:
aa
a
123
在以下代码中,往集合中分别添加三个元素ss、ss、how,但是最终添加进集合中的只有元素 ss 和 how(),这就是 HashSet 的唯一性,即存储的元素不能有相同的。
public static void main(String[] args) { // 创建存储字符串的HashSet集合 Set<String> objects = new HashSet<>(); // 往集合中添加元素 objects.add("ss"); objects.add("ss"); objects.add("how"); // 获取迭代器,遍历集合所有元素 Iterator<String> iterator = objects.iterator(); while(iterator.hasNext()){ System.out.println(iterator.next()); } }
执行结果:
ss
how
=======================================================================
仔细阅读右侧编辑区内给出的代码框架及注释,在 Begin-End 间编写程序代码,使用 HashSet 的常用方法完成所给要求,具体如下:
接收给定的一行字符串(如:hello,hi,ask);
根据英文逗号切割字符串,把切割后的元素添加进 HashSet;
判断集合中元素个数,当个数大于 4,且集合中没有元素 hello 时,往集合中添加元素 hello,如果集合中已有元素 hello,请输出提示语句:“集合中已有该元素”,当个数小于等于 4 时,请输出提示语句:“元素个数小于4”;
打印集合。
平台将使用测试集运行你编写的程序代码,若全部的运行结果正确,则通关。
例: 测试输入:
hello,hi,kiko,solo,so
预期输出:
集合中已有该元素[kiko, hi, solo, hello, so]
import java.util.HashSet; import java.util.Scanner; import java.util.Set; public class CollTest { public static void main(String[] args) { // 请在Begin-End间编写代码 /********** Begin **********/ Scanner scanner =new Scanner(System.in); // 第一步:接收给定的字符串 String strings=scanner.nextLine(); // 第二步:切割字符串 String []str=strings.split(","); // 第三步:创建集合 Set<String> hashSet=new HashSet<String>(); // 第四步:将切割后的元素添加进集合 for(String s:str){ hashSet.add(s); } // 第五步:判断集合中元素个数是否大于4 if(hashSet.size()>4){ if(hashSet.contains("hello")){ System.out.println("集合中已有该元素"); }else{ hashSet.add("hello"); **自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。** **深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!** **因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。**       **既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!** **由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新** **如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注Java)**  ### 最后 **Java架构进阶面试及知识点文档笔记** > **这份文档共498页,其中包括Java集合,并发编程,JVM,Dubbo,Redis,Spring全家桶,MySQL,Kafka等面试解析及知识点整理**  **Java分布式高级面试问题解析文档** **其中都是包括分布式的面试问题解析,内容有**分布式消息队列,Redis缓存,分库分表,微服务架构,分布式高可用,读写分离等等!  **互联网Java程序员面试必备问题解析及文档学习笔记**  **Java架构进阶视频解析合集** **一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**  084305)] **Java分布式高级面试问题解析文档** **其中都是包括分布式的面试问题解析,内容有**分布式消息队列,Redis缓存,分库分表,微服务架构,分布式高可用,读写分离等等! [外链图片转存中...(img-Zo7Qiy8x-1712903084306)] **互联网Java程序员面试必备问题解析及文档学习笔记** [外链图片转存中...(img-m4H5DDxn-1712903084306)] **Java架构进阶视频解析合集** **一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!** [外链图片转存中...(img-YfuCgmlb-1712903084306)]
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。