电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術(shù)文章
文章詳情頁

Java基礎(chǔ)之集合Set詳解

瀏覽:39日期:2022-08-13 09:14:27
目錄一、概述二、Set的常用方法三、Set的遍歷3.1增強(qiáng)for循環(huán)3.2 迭代器遍歷一、概述

Set是Java中的集合類,提供了一種無順序,不重復(fù)的集合。常用的子類包括HashSet, TreeSet等。

HashSet底層使用HashMap實(shí)現(xiàn),根據(jù)元素的hashCode和equals來判斷是否為重復(fù)元素。當(dāng)元素的hashCode相同且equals返回true時則認(rèn)為是重復(fù)元素。因?yàn)槭褂昧薶ash算法所以HashSet有很好的添加和訪問性能。可以放入null但只能放一個null TreeSet底層使用紅黑樹實(shí)現(xiàn),Set上的元素被放在一個自動排序的紅黑樹中。不能放入null二、Set的常用方法 add() 向Set中添加元素 size() 返加Set的大小,即Set中元素的數(shù)量 remove(Object o) 從Set上刪除元素 boolean contains(Object o) 檢查Set中是否包含某個元素,包含返回true,不包含返回false iterator() 返回Set的迭代器 clear() 清空Setis Empty() 檢查Set是否為空,為空返回true, 否則返回false

package collect;import java.util.HashSet;import java.util.Set;/** * [簡要描述]:Set使用 * [詳細(xì)描述]: * * @author Smalight Lv * @version 1.0, 2021/5/6 15:15 * @since JDK 1.8 */public class SetTest1 { public static void main(String[] args) {Set<String> set = new HashSet<>();//添加元素到Setset.add('張三');set.add('李四');set.add('王五');//打印SetSystem.out.println(set);//再加入一個王五,不能添加成功boolean rst = set.add('王五');System.out.println('添加結(jié)果:' + rst);System.out.println(set);//HashSet可以加入null,但只能加入一個nullrst = set.add(null);System.out.println('添加第一個null:' + rst);System.out.println(set);rst = set.add(null);System.out.println('添加第二個null:' + rst);System.out.println(set);//判斷Set中是否包含某個元素rst = set.contains('張三');System.out.println('是否包含元素'張三':' + rst);//刪除元素set.remove('張三');System.out.println(set);//判斷Set中是否包含某個元素rst = set.contains('張三');System.out.println('是否包含元素'張三':' + rst);//Set的大小,即Set中元素的數(shù)量int size = set.size();System.out.println('Set的大小:' + size);//判斷Set是否為空boolean isEmpty = set.isEmpty();System.out.println('Set是否為空:' + isEmpty);//清空Setset.clear();System.out.println(set);//判斷Set是否為空isEmpty = set.isEmpty();System.out.println('Set是否為空:' + isEmpty); }}

運(yùn)行結(jié)果:

[李四, 張三, 王五]添加結(jié)果:false[李四, 張三, 王五]添加第一個null:true[null, 李四, 張三, 王五]添加第二個null:false[null, 李四, 張三, 王五]是否包含元素'張三':true[null, 李四, 王五]是否包含元素'張三':falseSet的大小:3Set是否為空:false[]Set是否為空:true

注:TreeSet不能添加null元素,添加null時會拋出NullPointerException異常

package collect;import java.util.Set;import java.util.TreeSet;/** * [簡要描述]: Set * [詳細(xì)描述]: * * @author Smalight Lv * @version 1.0, 2021/5/6 16:28 * @since JDK 1.8 */public class SetTest2 { public static void main(String[] args) {Set<String> set = new TreeSet<>();//TreeSet不能加入nullboolean rst = set.add(null);System.out.println('添加第一個null:' + rst);System.out.println(set); }}

運(yùn)行結(jié)果:

Exception in thread 'main' java.lang.NullPointerException at java.util.TreeMap.compare(TreeMap.java:1294) at java.util.TreeMap.put(TreeMap.java:538) at java.util.TreeSet.add(TreeSet.java:255) at collect.SetTest2.main(SetTest2.java:19)

package collect;import java.util.TreeSet;/** * [簡要描述]: Set * [詳細(xì)描述]: * * @author Smalight Lv * @version 1.0, 2021/5/6 16:28 * @since JDK 1.8 */public class SetTest3 { public static void main(String[] args) {TreeSet<String> set = new TreeSet<>();//添加元素到Setset.add('B');set.add('A');set.add('李四');set.add('王五');set.add('張三');set.add('a');//打印SetSystem.out.println(set);//再加入一個王五,不能添加成功boolean rst = set.add('王五');System.out.println('添加結(jié)果:' + rst);System.out.println(set);//獲取Set中的第一個元素System.out.println(set.first());//獲取Set中的最后一個元素System.out.println(set.last());//判斷Set中是否包含某個元素rst = set.contains('張三');System.out.println('是否包含元素'張三':' + rst);//刪除元素set.remove('張三');System.out.println(set);//判斷Set中是否包含某個元素rst = set.contains('張三');System.out.println('是否包含元素'張三':' + rst);//Set的大小,即Set中元素的數(shù)量int size = set.size();System.out.println('Set的大小:' + size);//判斷Set是否為空boolean isEmpty = set.isEmpty();System.out.println('Set是否為空:' + isEmpty);//清空Setset.clear();System.out.println(set);//判斷Set是否為空isEmpty = set.isEmpty();System.out.println('Set是否為空:' + isEmpty); }}

運(yùn)行結(jié)果:

[A, B, a, 張三, 李四, 王五]添加結(jié)果:false[A, B, a, 張三, 李四, 王五]A王五是否包含元素'張三':true[A, B, a, 李四, 王五]是否包含元素'張三':falseSet的大小:5Set是否為空:false[]Set是否為空:true

三、Set的遍歷3.1增強(qiáng)for循環(huán)

package collect;import java.util.HashSet;import java.util.Set;/** * [簡要描述]:增強(qiáng)for循環(huán)遍歷Set * [詳細(xì)描述]: * * @author Smalight Lv * @version 1.0, 2021/5/6 17:01 * @since JDK 1.8 */public class SetTest4 { public static void main(String[] args) {Set<String> set = new HashSet<>();set.add('唐僧');set.add('孫悟空');set.add('豬悟能');set.add('沙悟凈');System.out.println(set);for(String item:set){ System.out.println(item);} }}

運(yùn)行結(jié)果:

[豬悟能, 孫悟空, 沙悟凈, 唐僧]豬悟能孫悟空沙悟凈唐僧

3.2 迭代器遍歷

package collect;import java.util.HashSet;import java.util.Iterator;import java.util.Set;/** * [簡要描述]:增強(qiáng)for循環(huán)遍歷Set * [詳細(xì)描述]: * * @author Smalight Lv * @version 1.0, 2021/5/6 17:01 * @since JDK 1.8 */public class SetTest5 { public static void main(String[] args) {Set<String> set = new HashSet<>();set.add('唐僧');set.add('孫悟空');set.add('豬悟能');set.add('沙悟凈');System.out.println(set);Iterator<String> iterator = set.iterator();while(iterator.hasNext()){ System.out.println(iterator.next());} }}

運(yùn)行結(jié)果:

[豬悟能, 孫悟空, 沙悟凈, 唐僧]豬悟能孫悟空沙悟凈唐僧

到此這篇關(guān)于Java基礎(chǔ)之集合Set詳解的文章就介紹到這了,更多相關(guān)Java集合Set內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Java
相關(guān)文章:
主站蜘蛛池模板: 电池高低温试验箱-气态冲击箱-双层电池防爆箱|简户百科 | 青岛侦探_青岛侦探事务所_青岛劝退小三_青岛调查出轨取证公司_青岛婚外情取证-青岛探真调查事务所 | 环保袋,无纺布袋,无纺布打孔袋,保温袋,环保袋定制,环保袋厂家,环雅包装-十七年环保袋定制厂家 | Honsberg流量计-Greisinger真空表-气压计-上海欧臻机电设备有限公司 | 消泡剂-水处理消泡剂-涂料消泡剂-切削液消泡剂价格-东莞德丰消泡剂厂家 | 沧州友城管业有限公司-内外涂塑钢管-大口径螺旋钢管-涂塑螺旋管-保温钢管生产厂家 | 厂房出售_厂房仓库出租_写字楼招租_土地出售-中苣招商网-中苣招商网 | 手机存放柜,超市储物柜,电子储物柜,自动寄存柜,行李寄存柜,自动存包柜,条码存包柜-上海天琪实业有限公司 | 塑料瓶罐_食品塑料瓶_保健品塑料瓶_调味品塑料瓶–东莞市富慷塑料制品有限公司 | 采暖炉_取暖炉_生物质颗粒锅炉_颗粒壁炉_厂家加盟批发_烟台蓝澳采暖设备有限公司 | 磁力轮,磁力联轴器,磁齿轮,钕铁硼磁铁-北京磁运达厂家 | 粉末包装机,拆包机厂家,价格-上海强牛包装机械设备有限公司 | 中国产业发展研究网 - 提供行业研究报告 可行性研究报告 投资咨询 市场调研服务 | 安徽控制器-合肥船用空调控制器-合肥家电控制器-合肥迅驰电子厂 安徽净化板_合肥岩棉板厂家_玻镁板厂家_安徽科艺美洁净科技有限公司 | LZ-373测厚仪-华瑞VOC气体检测仪-个人有毒气体检测仪-厂家-深圳市深博瑞仪器仪表有限公司 | 深圳湾1号房价_深圳湾1号二手房源| 消防泵-XBD单级卧式/立式消防泵-上海塑泉泵阀(集团)有限公司 | 洗瓶机厂家-酒瓶玻璃瓶冲瓶机-瓶子烘干机-封口旋盖压盖打塞机_青州惠联灌装机械 | 中原网视台| 巨野电机维修-水泵维修-巨野县飞宇机电维修有限公司 | 企典软件一站式企业管理平台,可私有、本地化部署!在线CRM客户关系管理系统|移动办公OA管理系统|HR人事管理系统|人力 | 常州企业采购平台_常州MRO采购公司_常州米孚机电设备有限公司 | 昆明网络公司|云南网络公司|昆明网站建设公司|昆明网页设计|云南网站制作|新媒体运营公司|APP开发|小程序研发|尽在昆明奥远科技有限公司 | 钢结构-钢结构厂房-钢结构工程[江苏海逵钢构厂] | 全自动端子机|刺破式端子压接机|全自动双头沾锡机|全自动插胶壳端子机-东莞市傅氏兄弟机械设备有限公司 | 锥形螺带干燥机(新型耙式干燥机)百科-常州丰能干燥工程 | 三效蒸发器_多效蒸发器价格_四效三效蒸发器厂家-青岛康景辉 | atcc网站,sigma试剂价格,肿瘤细胞现货,人结肠癌细胞株购买-南京科佰生物 | 户外环保不锈钢垃圾桶_标识标牌制作_园林公园椅厂家_花箱定制-北京汇众环艺 | 熔体泵|换网器|熔体齿轮泵|熔体计量泵厂家-郑州巴特熔体泵有限公司 | 大巴租车平台承接包车,通勤班车,巴士租赁业务 - 鸿鸣巴士 | 深圳活动策划公司|庆典策划|专业公关活动策划|深圳艺典文化传媒 重庆中专|职高|技校招生-重庆中专招生网 | 硫酸亚铁-聚合硫酸铁-除氟除磷剂-复合碳源-污水处理药剂厂家—长隆科技 | 澳门精准正版免费大全,2025新澳门全年免费,新澳天天开奖免费资料大全最新,新澳2025今晚开奖资料,新澳马今天最快最新图库-首页-东莞市傲马网络科技有限公司 | 轴流风机-鼓风机-离心风机-散热风扇-罩极电机,生产厂家-首肯电子 | 东莞市海宝机械有限公司-不锈钢分选机-硅胶橡胶-生活垃圾-涡电流-静电-金属-矿石分选机 | Trimos测长机_测高仪_TESA_mahr,WYLER水平仪,PWB对刀仪-德瑞华测量技术(苏州)有限公司 | 硅胶管挤出机厂家_硅胶挤出机生产线_硅胶条挤出机_臣泽智能装备 贵州科比特-防雷公司厂家提供贵州防雷工程,防雷检测,防雷接地,防雷设备价格,防雷产品报价服务-贵州防雷检测公司 | 浙江筋膜枪-按摩仪厂家-制造商-肩颈按摩仪哪家好-温州市合喜电子科技有限公司 | 仿真植物|仿真树|仿真花|假树|植物墙 - 广州天昆仿真植物有限公司 | 冷却塔厂家_冷却塔维修_冷却塔改造_凉水塔配件填料公司- 广东康明节能空调有限公司 |