集合类 Map接口 HashTable】的更多相关文章

集合类的另外一种重要实现为Map接口,Map接口提供的方法如下: Map接口一个不常见实现为HashTable,HashTable对所有有并发访问问题的方法通过 synchronized 关键字进行并发操作控制. HashTable的Key和Value都不能为空,否则抛出NullPointerException. Hashtable 的实例有两个参数影响其性能:初始容量 和 加载因子,默认加载因子是 0.75,两个参数直接影响空间利用率和时间利用率. public Hashtable() { t…
Java的集合可以分为两种,第一种是以数组为代表的线性表,基类是Collection:第二种是以Hashtable为代表的键值对. ... 线性表,基类是Collection: 数组类: person[] p; system.out.println(p.length);//报错,不允许对null对象进行任何实际操作.       person[] p=new person[5]; Vector类——数组的改进: 1)四个构造函数 Vector(int initialCapacity,int ca…
Collections+Iterator 接口 1. Collections 是一个操作 Set.List 和 Map 等集合的工具类 Collections 中提供了大量方法对集合元素进行排序.查询和修改等操作,还提供了对集合对象设置不可变.对集合对象实现同步控制等方法 排序操作: reverse(List):反转 List 中元素的顺序 shuffle(List):对 List 集合元素进行随机排序 sort(List):根据元素的自然顺序对指定 List 集合元素按升序排序 sort(Li…
17.Map接口 Map没有继承Collection接口,Map提供key到value的映射.一个Map中不能包含相同的key,每个key只能映射一个value.Map接口提供3种集合的视图,Map的内容可以被当作一组key集合,一组value集合,或者一组key-value映射. 17.1.Hashtable类 Hashtable继承Map接口,实现一个key-value映射的哈希表,是同步的.任何非空(non-null)的对象都可作为key或者value.添加数据使用put(key, val…
前言 在前文中我们了解了几种常见的数据结构,这些数据结构有着各自的应用场景,并且被广泛的应用于编程语言中,其中,Java中的集合类就是基于这些数据结构为基础. Java的集合类是一些非常实用的工具类,主要用于存储和装载数据 (包括对象),因此,Java的集合类也被成为容器.在Java中,所有的集合类都位于java.util包下,这些集合类主要是基于两个根接口派生而来,它们就是 Collection和 Map. Collection接口 Collection派生出三个子接口,Set代表不可重复的无…
面试题: 1.HashMap和Hashtable的区别? HashMap:线程不安全,效率高,键和值都允许null值 Hashtable:线程安全,效率低,键和值都不允许null值 ArrayList代替Vector HashMapd代替Hashtable 2.List,Set,Map等接口是否都继承自Map接口? List,Set是继承自Collection接口 Map是Map的顶层接口 3.Collection和Collections的区别? Collection:是单列集合的顶层接口,有两…
Java中的集合(十三) 实现Map接口的Hashtable 一.Hashtable简介 和HashMap一样,Hashtable采用“拉链法”实现一个哈希表,它存储的内容是键值对(key-value)映射.Hashtable 的实例有两个参数影响其性能:初始容量 (11)和 加载因子(0.75).容量 是哈希表中桶 的数量,初始容量 就是哈希表创建时的容量.注意,哈希表的状态为 open:在发生“哈希冲突”的情况下,单个桶会存储多个条目,这些条目必须按顺序搜索.加载因子 是对哈希表在其容量自动…
Map集合java.util.Map Map用于保存具有映射关系的数据,因此Map集合里保存着两个值,一个是用于保存Map里的key,另外一组值用于保存Map里的value.key和value都可以是任何类型的数据. 在Map中,Key是不允许重复的.key和value之间存在一对一的关系,也就是说,我们通过key肯定能够找到唯一的,确定的value.   特征:key-->value 方法: (1), void clear() : 删除该Map对象中所有的key-value对 (2), boo…
一.Set接口实现类LinkedHashSet 实现继承图: 1.LinkedHashSet的全面说明 1) LinkedHashSet是 HashSet的子类 2) LinkedHashSet底层是一个LinkedHashMap,底层维护了一个数组+双向链表3)LinkedHashSet根据元素的hashCode值来决定元素的存储位置,同时使用链表维护元素的次序(图),这使得元素看起来是以插入顺序保存的.4) LinkedHashSet 不允许添重复元素 底层结构展示: LinkedHashS…
1:Map接口提供了将键映射到值的对象.一个映射不能包含重复的键:每个键最多只能映射到一个值.Map接口中同样提供了集合的常用方法. 2:由于Map集合中的元素是通过key,value,进行存储的,要获取集合中指定的key或者value值,需要先通过相应的方法获取key集合或者value集合,再遍历key集合或者value集合获取指定值. 案例如下:向一个Map集合中插入元素并根据key值打印集合中的元素 package com.ning; import java.util.*; public…