黑马程序员_java入门_Set集合
来源:互联网 发布:php遍历json对象 编辑:程序博客网 时间:2024/04/28 20:01
------- android培训、java培训、期待与您交流! ----------
一.set集合特点
1.存储无序,不可重复,取出可能无序
二set集合分类
-----------------HashSet 底层数据结构哈希表,按哈希值存
-----------------TreeSet 底层机构二叉树,按树顺序存
同样都用迭代器取出
三HashSet
HashSet保证元素唯一性,那么它是如何保证唯一性的呢?
调用add()方法里面其实含有Hashcode()和equals()方法
通过HashCode和equlas方法来完成
第一步判断HashCode,如果相同判断
第二步equals
四TreeSet
TreeSet和HashSet的区别就是前者取出有序了
这是为什么呢?因为里面有一个方法叫做comparTo方法他实现comparble接口,让类具有可比性,那么add()就能comparto的返回值,比较添加的元素是否重复
通过返回的数,add()里面的方法能自动的排序每一个元素。
其实都是通过返回值来判断的一个是 comparbale下面的comparTo()的返回值,另外一个compartor下面compare方法的返回值
两种形式都存在,以比较器为主。
五.二叉树
小左大右
如果元素多了,从中间向两边散发,这是add()调用的一种方法
六比较器(Comparator)
由于不可比或者比较的东西不是主要的,所以要建立比较器,让集合具有比较器
给一个集合具有比较性,则让集合参与构造函数。
什么意思呢?
就是定义一个比较器传给TreeSet的构造函数。此时在添加就能比较了。
以后再添加的时候,那么add()就会使用比较器的方法。
- 黑马程序员_java入门_Set集合
- 黑马程序员_java语言_Set集合概述
- 黑马程序员_Java语言_集合_Set集合
- 黑马程序员_集合_set集合
- 黑马程序员_java入门_List集合
- 黑马程序员_java入门_集合Map
- 黑马程序员_Set集合学习笔记
- 黑马程序员_java集合
- 黑马程序员_java集合
- 黑马程序员_Java集合
- 黑马程序员_java集合
- 黑马程序员_java 集合
- 黑马程序员_JAVA:集合
- 黑马程序员_Set集合的子类HashSet集合,TreeSet集合
- 黑马程序员__泛型_Set集合类_Map集合类
- 黑马程序员_java入门
- 黑马程序员_java入门
- 黑马程序员_java入门
- struts2
- C++解析JSON的好文章
- java的引用( reference)
- 为什么父类指针可以指向子类反之则不行
- Oracle AWR 报告详解
- 黑马程序员_java入门_Set集合
- linux mysql proxy 的安装,配置,以及读写分离
- 服务提供者框架
- virtual
- 简易计算器
- 获取磁盘空间大小
- javaweb之HTTP协议以及servlet
- 比较要拷贝的文件大小和磁盘的剩余空间大小
- tableViews的数据源的数据筛选,cocoa 里的