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, 说明新添加的元素与集合中已有的元素的属性值都不同, 那么新添加的元素存入集合

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • numpy求特征向量_python计算矩阵

    numpy求特征向量_python计算矩阵文章目录numpy计算矩阵特征值,特征向量一、示例:二、numpy实现:numpy计算矩阵特征值,特征向量一、示例:首先借参考百度demo的来看一下矩阵的特征值和特征向量的解题过程及结果。可知矩阵A:特征值为1对应的特征向量为[-1,-2,1]T。特征值为2对应的特征向量为[0,0,1]T我们可以进一步对特征向量进行单位化,单位化之后的结果如下:特征值为1对应的特征向量为[…

    2022年10月23日
  • X-Windows桌面

    X-Windows桌面

    2021年10月15日
  • 量化投资学习——多因子权重组合优化问题

    量化投资学习——多因子权重组合优化问题关于多因子权重组合优化问题,这里首先整理若干链接供大家参考:pythonoptimize_Python与量化多因子——因子权重优化文章中从常见的因子合成方法,如静态权重,动态权重出发,拓展到了动态权重,介绍了最大化ICIR的缺点,介绍了cvxpy等工具包,包括常见的一些约束问题,文章还举了若干例子,比较好…

  • Linux04:(4.6k)vim编辑器「建议收藏」

    Linux04:(4.6k)vim编辑器「建议收藏」文章目录Linux_day04一.vim编辑器vim的三种模式1.命令模式2.末行模式3.编辑模式实用功能扩展内容==1.vim的配置文件==2.异常退出问题3.别名机制4.退出方式补充一些win10下的快捷键Linux_day04一.vim编辑器vim的三种模式命令模式不能对文件直接编辑,但可以通过快捷键删除行,复制,粘贴,移动光标等编辑模式-输入末行模式可以在末行输入命令:搜索,替换,保存,退出,撤销vim打开文件的方式:1.#vim 文件路径——直接打开文件(光

  • Linux VI文本编辑器

    Linux VI文本编辑器VI文本编辑器  学会使用vi编辑器是学习Linux系统的必备技术之一,因为一般的Linux服务器是没有GUI界面的,Linux运维及开发人员基本上都是通过命令行的方式进行文本编辑或程序编写的。vi编辑器是Linux内置的文本编辑器,几乎所有的类unix系统中都内置了vi编辑器,而其它编辑器则不一定,另外很多软件会调用vi编辑进行内容编写,例如cront…

  • 词向量模型(1)[通俗易懂]

    词向量模型(1)[通俗易懂]词向量模型one-hotVectorone-hotvector最简单的编码方式:假设我们的词库总共有n个词,那我们开一个1*n的高维向量,而每个词都会在某个索引index下取到1,其余位置全部都取值为0。问题这种词向量编码方式简单粗暴,我们将每一个词作为一个完全独立的个体来表达。遗憾的是,这种方式下,我们的词向量没办法给我们任何形式的词组相似性权衡。因为你开了一个极高维度的…

发表回复

您的电子邮箱地址不会被公开。

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