Java中的集合(十二) 实现Map接口的WeakHashMap 一.WeakHashMap简介 WeakHashMap和HashMap一样,WeakHashMap也是一个哈希表,存储的也是键值对(key-value)映射,且键值都可以为null. 不过WeakHashMap的键是“弱键”.在 WeakHashMap 中,当某个键不再正常使用时,会被从WeakHashMap中被自动移除.更精确地说,对于一个给定的键,其映射的存在并不阻止垃圾回收器对该键的丢弃,这就使该键成为可终止的,被终止,然后…
Java中的集合(十四) Map的实现类LinkedHashMap 一.LinkedHashMap的简介 LinkedHashMap是Map接口的实现类,继承了HashMap,它通过重写父类相关的方法,来实现自己的链接列表特性.但是很多方法都直接复用了父类HashMap的方法.底层数据结构是哈希表+双向链表,具有可预知的迭代顺序.允许使用null值和null键存储. LinkedHashMap实现与HashMap的不同之处在于,后者维护着一个运行于所有条目的双重链接列表.此链接列表定义了迭代顺序…
Java中的集合(十五) Iterator 和 ListIterator.Enumeration 一.Iterator (一).简介 Iterator 是一个接口,它是集合的迭代器.集合可以通过Iterator去遍历集合中的元素.把访问逻辑从不同类型的集合类中抽取出来,从而避免向外部暴露集合的内部结构. (二).常用API 实例: (三).特点 只能单向移动遍历. 迭代器在迭代期间可以从集合中移除元素(通过迭代器删除). 不能在迭代时通过集合对象添加,删除元素. (四).相关问题 1.Itera…
Java中的集合(二)单列集合顶层接口------Collection接口 Collection是一个高度封装的集合接口,继承自Iterable接口,它提供了所有集合要实现的默认方法.由于Iterable封装了Iterator迭代器,因此Collection可以使用Iterator迭代器. Collection用于表示一组单值对象的集合,这些对象也称为元素. Collection接口定义了一系列抽象方法,规范了对单值类型的集合的操作标准. 一.Collection子接口或子类 Collectio…
上一篇里介绍了容器家族里的大族长——Collection接口,今天来看看容器家族里的二族长——Map接口. Map也是容器家族的一个大分支,但里面的元素都是以键值对(key-value)的形式存放的,就像字典一样,用相应的key就可以拿到相应的value. 先来看看Map接口的内容,下面是阉割版的Map接口(去掉了default method),去掉的部分涉及Stream操作,属于Map的高级用法,所以暂时不做介绍. import java.io.Serializable; import jav…
集合类说明及区别Collection├List│├LinkedList│├ArrayList│└Vector│ └Stack└SetMap├Hashtable├HashMap└WeakHashMap 一.Collection接口 Collection是最基本的集合接口,一个Collection代表一组Object,即Collection的元素(Elements).一些 Collection允许相同的元素而另一些不行.一些能排序而另一些不行.Java SDK不提供直接继承自Collection的类…
JAVA之旅(二十二)--Map概述,子类对象特点,共性方法,keySet,entrySet,Map小练习 继续坚持下去吧,各位骚年们! 事实上,我们的数据结构,只剩下这个Map的知识点了,平时开发中,也是能看到他的,所以还是非常值得去学习的一个知识点的,我们直接开车了 一.Map概述 泛型< k,v> 键值对,映射关系 基本特点 该集合存储键值对,是一对一对往里存,而且要保证键的唯一性 1.添加 put(key ,values) putAll() 2.删除 clear() remove(ob…
201871010105-曹玉中<面向对象程序设计(java)>第十二周学习总结 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.com/nwnu-daizh/p/11435127.html 作业学习目标 (1) 掌握Vetor.Stack.Hashtable三个类的用途及常用API: (2)  掌握ArrayList.LinkList两个类的用途及常用API: (3) 了解…
Java中的集合(十三) 实现Map接口的Hashtable 一.Hashtable简介 和HashMap一样,Hashtable采用“拉链法”实现一个哈希表,它存储的内容是键值对(key-value)映射.Hashtable 的实例有两个参数影响其性能:初始容量 (11)和 加载因子(0.75).容量 是哈希表中桶 的数量,初始容量 就是哈希表创建时的容量.注意,哈希表的状态为 open:在发生“哈希冲突”的情况下,单个桶会存储多个条目,这些条目必须按顺序搜索.加载因子 是对哈希表在其容量自动…
Java集合(十)继承Map接口的HashMap 一.HashMap简介(基于JDK1.8) HashMap是基于哈希表(散列表),实现Map接口的双列集合,数据结构是“链表散列”,也就是数组+链表 ,key唯一的value可以重复,允许存储null 键null 值,元素无序.JDK1.8对HashMap进行一个大的优化,底层数据结构有“数组+链表”的形式,变成“数组+链表+红黑树”的形式,当链表长度超过阈值时,将链表转换为红黑树,这样大大减少了查找时间. HashMap 的实例有两个参数影响其…