随笔分类 - Java中的集合体系
摘要:Java中的集合(十五) Iterator 和 ListIterator、Enumeration 一、Iterator (一)、简介 Iterator 是一个接口,它是集合的迭代器。集合可以通过Iterator去遍历集合中的元素。把访问逻辑从不同类型的集合类中抽取出来,从而避免向外部暴露集合的内部结
阅读全文
摘要:Java中的集合(十四) Map的实现类LinkedHashMap 一、LinkedHashMap的简介 LinkedHashMap是Map接口的实现类,继承了HashMap,它通过重写父类相关的方法,来实现自己的链接列表特性。但是很多方法都直接复用了父类HashMap的方法。底层数据结构是哈希表+
阅读全文
摘要:Java中的集合(十三) 实现Map接口的Hashtable 一、Hashtable简介 和HashMap一样,Hashtable采用“拉链法”实现一个哈希表,它存储的内容是键值对(key-value)映射。Hashtable 的实例有两个参数影响其性能:初始容量 (11)和 加载因子(0.75)。
阅读全文
摘要:Java中的集合(十二) 实现Map接口的WeakHashMap 一、WeakHashMap简介 WeakHashMap和HashMap一样,WeakHashMap也是一个哈希表,存储的也是键值对(key-value)映射,且键值都可以为null。 不过WeakHashMap的键是“弱键”。在 We
阅读全文
摘要:Java中的集合(十一) 实现Map接口的TreeMap 一、TreeMap简介(基于JDK1.8) TreeMap是基于红黑树数据结构,是一个key-value的有序集合,该映射根据其键的自然顺序进行排序,或者根据创建映射时提供的 Comparator 进行排序,具体取决于使用的构造方法。因为红黑
阅读全文
摘要:Java集合(十)继承Map接口的HashMap 一、HashMap简介(基于JDK1.8) HashMap是基于哈希表(散列表),实现Map接口的双列集合,数据结构是“链表散列”,也就是数组+链表 ,key唯一的value可以重复,允许存储null 键null 值,元素无序。JDK1.8对Hash
阅读全文
摘要:Java集合(九)哈希冲突及解决哈希冲突的4种方式 一、哈希冲突 (一)、产生的原因 哈希是通过对数据进行再压缩,提高效率的一种解决方法。但由于通过哈希函数产生的哈希值是有限的,而数据可能比较多,导致经过哈希函数处理后仍然有不同的数据对应相同的哈希值。这时候就产生了哈希冲突。 (二)、因素 装填因子
阅读全文
摘要:Java集合(八)哈希表及哈希函数的实现方式 一、哈希表 非哈希表的特点:关键字在表中的位置和它之间不存在一个确定的关系,查找的过程为给定值一次和各个关键字进行比较,查找的效率取决于和给定值进行比较的次数。 哈希表的特点:关键字在表中位置和它之间存在一种确定的关系。 哈希函数:一般情况下,需要在关键
阅读全文
摘要:Java中的集合(七)双列集合顶层接口 Map接口 一、Map接口的简介 通过List接口,我们知道List接口下的集合是单列集合,数据存储是单列的结构。Map接口下是一个键值对(key-value)的映射接口,Map集合中,不能包含重复的键,每个键只能映射一个值(元素),值可以重复,因此可以根据k
阅读全文
摘要:Java中的集合(六)继承Collection的Set接口 一、Set接口的简介 Set接口和List接口都是继承自Collection接口,它与Collection接口中功能基本一致,并没有对Collection接口的扩展,但是它比Collection接口更严格。Java中的Set接口类似于数学直
阅读全文
摘要:Java中的集合(五)继承Collection的List接口 一、List接口简介 List是有序的Collection的,此接口能够精确的控制每个元素插入的位置。用户能够根据索引(元素在List接口的中位置)访问List中的元素,类似于Java中的数组。 List接口有如下特点: 有序的集合。存储
阅读全文
摘要:Java中的集合(四)PriorityQueue常用方法 PriorityQueue的基本概念等都在上一篇已说明,感兴趣的可以点击 Java中的集合(三)继承Collection的Queue接口 查看 这里主要以PriorityQueue的常用方法的学习 一、PriorityQueue的实现 从上图
阅读全文
摘要:Java中的集合(三)继承Collection的Queue接口 一、Queue介绍 Queue接口继承自Collection接口,是Java中定义的一种队列数据结构,元素是有序的(按插入顺序排序),先进先出(FIFO)原则。不支持随机访问数据,新元素插入(offer)到队列的尾部,访问元素(poll
阅读全文
摘要:Java中的集合(二)单列集合顶层接口 Collection接口 Collection是一个高度封装的集合接口,继承自Iterable接口,它提供了所有集合要实现的默认方法。由于Iterable封装了Iterator迭代器,因此Collection可以使用Iterator迭代器。 Collectio
阅读全文
摘要:Java中的集合类型体系(一) 提问:为什么需要集合? 通常情况下,程序需要根据运行时才知道创建了多少对象。若非程序运行时,而在开发阶段,我们并不知道创建了多少对象,甚至不知道对象的准确类型,为了满足常规的编程需要,我们要求能在任何时候,任何地点创建任意数量的对象,但是用什么容器要存放这些对象呢?首
阅读全文

浙公网安备 33010602011771号