摘要:
Java中的集合(十五) Iterator 和 ListIterator、Enumeration 一、Iterator (一)、简介 Iterator 是一个接口,它是集合的迭代器。集合可以通过Iterator去遍历集合中的元素。把访问逻辑从不同类型的集合类中抽取出来,从而避免向外部暴露集合的内部结 阅读全文
摘要:
Java中的自动装箱拆箱 一、自动装箱与自动拆箱 自动装箱就是将基本数据类型转换为包装类类型,自动拆箱就是将包装类类型转换为基本数据类型。 1 // 自动装箱 2 Integer total = 90; 3 4 // 自动拆箱 5 int totalprim = total; 以 整数型 Integ 阅读全文
摘要:
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 阅读全文