set集合的特点

set集合的特点set集合的特点A:存入集合的顺序和取出集合的顺序不一致B:没有索引C:存入集合的元素没有重复set接口的实现类常用的有HashSet和TreeSet类。语法格式如下:Set<String>set1=newHashSet<String>();Set<String>set2=newTreeSe…

大家好,又见面了,我是你们的朋友全栈君。

set集合的特点

    A:存入集合的顺序和取出集合的顺序不一致

    B:没有索引

    C:存入集合的元素没有重复

 

set接口的实现类常用的有HashSet和TreeSet类。语法格式如下:

Set<String> set1 = new HashSet<String>();

Set<String> set2 = new TreeSet<String>();

1.HashSet的使用

 public class HashSetDemo {
	public static void main(String[] args) {

		//创建集合对象
		HashSet<Student> hs = new HashSet<Student>();

		//创建元素对象
		Student s = new Student("zhangsan",18);
		Student s2 = new Student("lisi",19);
		Student s3 = new Student("lisi",19);

		//添加元素对象
		hs.add(s);
		hs.add(s2);
		hs.add(s3);

		//遍历集合对象
		for (Student student : hs) {
			System.out.println(student);
		}	 
	}	 
}

 

 

2.HashSet唯一性原理

   规则:新添加到HashSet集合的元素都会与集合中已有的元素一一比较

   首先比较哈希值(每个元素都会调用hashCode()产生一个哈希值)

   如果新添加的元素与集合中已有的元素的哈希值都不同,新添加的元素存入集合

   如果新添加的元素与集合中已有的某个元素哈希值相同,此时还需要调用equals(Object obj)比较

   如果equals(Object obj)方法返回true,说明新添加的元素与集合中已有的某个元素的属性值相同,那么新添加的元素存入集合

   如果equals(Object obj)方法返回false, 说明新添加的元素与集合中已有的元素的属性值都不同, 那么新添加的元素存入集合

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/135732.html原文链接:https://javaforall.net

(0)
上一篇 2022年6月4日 下午6:36
下一篇 2022年6月4日 下午6:36


相关推荐

  • 贪心算法例题整理

    贪心算法例题整理

    2021年9月27日
    48
  • matlab机器人画圆

    matlab机器人画圆最近在学习机器人学导论,老师发来一个.m文件,构建了一个机器人,然后让这个机器人末端画圆。然而我遇到了很多问题。先上代码%定义连杆%thetadaalphaL1=Link([01380-pi/2]);L2=Link([001350]);L3=Link([001470]);%定义关节角范围L1.ql…

    2022年6月19日
    53
  • win10安装ubuntu「建议收藏」

    win10上安装ubuntu为了能更好地学python,本来打算装个双系统,用Linux写python,不过发现双系统切换起来麻烦了点,然后就发现有虚拟机这东西。花费了一些时间,最后成功通过VMwareWorkstationPro14虚拟机安装了ubuntu,在此将安装教程整合一下,供需要者参考。 1.安装VMwareWorkstationPro14虚拟机要安装ubun…

    2022年4月13日
    53
  • gateway网关使用_gateway网关路由配置

    gateway网关使用_gateway网关路由配置网关搭建步骤1、创建项目,引入nacos以及gateway的依赖2、配置application.yml,配置nacos注册中心地址,以及网关路由配置,如下:spring:application:name:gatewaycloud:nacos:discovery:server-addr:localhost:8848#nacos地址gateway:routes:-id:user-servic

    2022年10月11日
    4
  • java的pdf转永中_永中pdf转word下载|

    java的pdf转永中_永中pdf转word下载|永中pdf转word是永中软件推出的一款网页版在线pdf转word转换器工具,这款软件之所以能在众多同类型软件中脱颖而出,是因为有这几个亮点,一个是免费且无需下载,二是不限使用次数,再就是转换后无乱码、排版整齐,有需要的朋友不要错过哦!永中pdf转word转换器介绍PDF意为”便携式文档格式”,以易于传输与储存、方便阅读、高质感等优点越来越多被使用于办公、学习和科研中,PDF文件一般需要安装阅读器…

    2022年5月18日
    45
  • C++ SkipList简单实现

    C++ SkipList简单实现SkipList h pragmaonce include vector structSkipLi SkipListNode intdata intlevel intm data std vector SkipListNode m forward classSkipLis public Ski SkipListNode vector

    2026年3月26日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号