JAVA复习5(集合——HashSet)
2 HashSet 无序 不可重复
HashSet 子类使用最多一个子类, 无序 ,不可重复
观察HashSet定义
public class HashSet<E> extends AbstractSet<E> implements Set<E>, Cloneable, Serializable |
范例:使用HashSet
public static void main(String[] args) { Set<String> all=new HashSet<>(); all.add("hello"); all.add("world"); all.add("hadoop"); all.add("hive"); all.add("hbase"); all.add("hello"); all.add("hello"); for(String str:all) { System.out.println(str); } } |
使用HashSet 判断重复元素依据 是 hashCode 和 equals()方法
hashCode是什么意思?
哈希表: 字典表 k v hashcode意思通过一些运算把复杂的对象,主键, 转换为数组的下标 arrayindex 进行存储
HashCode的设计原理主要三大特性:
1 确定的 对象.hashCode 该对象无论调用多少次这个hashCode方法得出的结果 一定是一样的
2 高效的 哈希算法一定不能是复杂的
3 均匀分布的
K hash V
A 2 zxy
B 0 pqr
C 3 ijk
D 2 uvm
通过了解hashCode的原理,以及为什么在HashSet 中元素是无序的, 以及为什么依靠HashCode 和equals()方法来判断重复元素
范例:使用自定义类完成HashSet的使用
public static void main(String[] args) { Set<Person> all=new HashSet<>(); all.add(new Person("张三",20)); all.add(new Person("李四",30)); all.add(new Person("隔壁老王",89)); for(Person per:all) { System.out.println(per); } } |
JAVA复习5(集合——HashSet)相关推荐
- [Java复习02] 集合框架 Collection
Q1 Collection java的集合以及集合之间的继承关系? 数组和链表的区别? 固定长度,连续内存,不能扩展,随机访问快,插入删除慢.链表相反 List, Set, Map的区别? List, ...
- java Set无序集合 HashSet 的对象元素唯一性
public class Demo{public static void main(String[] args) {Set<Person> set = new HashSet<> ...
- Java集合 -- HashSet 和 HashMap
HashSet 集合 HashMap 集合 HashSet集合 1.1 Set 接口的特点 Set体系的集合: A:存入集合的顺序和取出集合的顺序不一致 B:没有索引 C:存入集合的元素没有重复 1. ...
- Java集合 HashSet 和 HashMap
HashSet 集合 HashMap 集合 HashSet集合 Set 接口的特点 Set体系的集合: 存入集合的顺序和取出集合的顺序不一致 没有索引 存入集合的元素没有重复 HashSet 使用&a ...
- Java复习十:集合的使用
Collection集合 collection接口的常用方法 package com.xiazhui.java1;import org.junit.jupiter.api.Test;import ja ...
- java输出set集合元素_java Set集合,HashSet类详细介绍
下面要给大家介绍的就是java Set集合方面的内容,本文主要讲到了HashSet类的一些知识,主要包括了HashSet类的特点,HashSet 类的常用构造方法重载形式以及代码演示了创建两种不同形式 ...
- JAVA基础-06.集合-14.【List、Set】
01_数据结构_栈&队列 02_数据结构_数组 03_数据结构_链表 04_数据结构_红黑树 05_HashSet集合存储数据的结构(哈希表) 06_Set集合存储元素不重复的原理 day03 ...
- 中国海洋大学-信息系统开发(Java)复习
Java复习 OUC_Shizue 1 Java编译器和执行器 Java编译器和执行器是Java语言的两个核心组件,分别用于将Java源代码编译成Java字节码文件和运行Java字节码文件. Java ...
- Java复习面试知识点
Java复习面试知识点 前言: 简要的记录一下学习到的东西,仅供自己查阅和复习方便.希望该文章能对你有帮助,文章学习自博客和b站UP主的教程 集合: 集合简介: Java标准库自带的java.util ...
- Java复习第11天---11.2---Java8新特性---Stream流获取方式和常用方法1
Java复习第11天---11.2---Java8新特性---Stream流获取方式和常用方法1 目录 文章目录 1.Stream流的2中获取方式 1.1.集合的stream方法 1.2.Stream ...
最新文章
- 实现数据集多( 高 )维可视化(附代码)
- JMX操作ActiveMQ(2)
- java鼠标监听事件_JAVA 鼠标事件监听ACTIONLISTENER
- php中可以实现多态的是继承,PHP设计模式通过继承实现多态
- 洛谷 P3865 【模板】ST表
- JS - 按钮倒计时
- Android NDK之JNI陷阱
- 在Unity进行平台打包发布的时候需要注意的一些细节问题
- 如何用wordpress搭建个人博客
- 实时时钟DS1302
- 系列4—BabeLua常见问题
- c语言入门视频教程(C语言入门视频教程 百度网盘)
- jasperReports导出PDF字体加粗等样式失效问题
- “扣哒杯” AI世青赛公布2021-2022年度全国决赛个人获奖名单
- Krypital Group(金氪资本)宣布完成对Ambrus Studio的战略投资
- ubuntu 16.04+Titan Xp + Cuda 9.0 + Cudnn 7.0 + Caffe
- 傻瓜攻略(十六)——MATLAB实现txt文件复杂内容的读取
- 为程序员更新了Joel测试
- PDF在线压缩、转换工具
- ThingsBoard安装
热门文章
- 手动为 SAP Spartacus 添加 SSR 支持的步骤
- SAP Spartacus b2b home页面的自动换行是怎么做到的
- 如何创建SAP Commerce Cloud Page Templates
- SAP Spartacus shipping address页面请求2 - Put Address
- 一个使用Java BlockingQueue实现的生产者和消费者
- Hybris里类似ABAP Netweaver的DDIC - 如何做data type的extension
- 使用SAP CRM中间件XIF(External Interface)一步步创建服务订单
- 利用ABAP 740的新关键字REDUCE完成一个实际工作任务
- How is new Appoinment id generated in my task followup scenario
- SAP云平台上的ABAP编程环境里如何消费第三方服务