摘要: HashSet 底层是采用 HashMap 实现,HashSet 的实现比较简单,HashSet 的绝大部分方法都是通过调用 HashMap 的方法来实现 调用 HashSet 的 add 方法时,实际上是向 HashSet 对象内部持有的 HashMap 对象中增加了一个键值对,键是向 HashS 阅读全文
posted @ 2019-11-22 10:21 ConstXiong 阅读(679) 评论(0) 推荐(0) 编辑
摘要: HashSet 是基于 HashMap 实现的,查询速度特别快 HashMap 是支持 key 为 null 值的,所以 HashSet 支持添加 null 值 HashSet 存放自定义类时,自定义类需要重写 hashCode() 和 equals() 方法,确保集合对自定义类的对象的唯一性判断( 阅读全文
posted @ 2019-11-22 10:20 ConstXiong 阅读(715) 评论(0) 推荐(0) 编辑
摘要: TreeSet 基于 TreeMap 实现,TreeMap 基于红黑树实现 特点: 有序 无重复 添加、删除元素、判断元素是否存在,效率比较高,时间复杂度为 O(log(N)) 使用方式: TreeSet 默认构造方法,调用 add() 方法时会调用对象类实现的 Comparable 接口的 com 阅读全文
posted @ 2019-11-22 10:19 ConstXiong 阅读(560) 评论(0) 推荐(0) 编辑
摘要: 数组的优点: 数组的效率高于集合类 数组能存放基本数据类型和对象;集合中只能放对象 数组的缺点: 不是面向对象的,存在明显的缺陷 数组长度固定且无法动态改变;集合类容量动态改变 数组无法判断其中实际存了多少元素,只能通过length属性获取数组的申明的长度 数组存储的特点是顺序的连续内存;集合的数据 阅读全文
posted @ 2019-11-22 10:18 ConstXiong 阅读(932) 评论(0) 推荐(0) 编辑
摘要: HashMap 的 key 相等的条件是,条件 1 必须满足,条件2和3必须满足一个。 key 的 hash 值相等 内存中是同一个对象,即使用 == 判断 key 相等 key 不为 null, 且使用 equals 判断 key 相等 所以自定义类作为 HashMap 的 key,需要注意按照自 阅读全文
posted @ 2019-11-22 09:49 ConstXiong 阅读(1589) 评论(0) 推荐(1) 编辑