heqiang的技术BLOG

知人者明 自知者智

对象集合概述(原创)

hashtable是散列集的一种
成员是以key/value的形式存储的.
在jdk1.2以前就已经存在.
每个成员以hashcode作为key.因此查找,存储,删除速度快.每个成员是以key作为索引.
经常用来作为小型数据库.或是缓存数据用.在jdk1.2开始进行了扩展.
java.util.Hashtable parameters=new Hashtable();
parameters.put(name,value);//向散列集里放入值对。
Enumeration em=parameters.keys();//得到散列集的KEY集合。

java2开始数据结构平台开始进化,简单说有两种接:collection,Map.
collection有两个子接口:list,set.list代表元素有顺序且不能重复.set表示元素无顺序但可以重复.collection实现了iterator模式,以提供遍历成员的方法.同时有enumeraion接口遍历成员.但这是jdk1.0使用的兼容方法.Map代表有KEY/VAULE对存储的变量.Map实现了三种视图,以遍历key成员,value成员,key/value成员.

list的特性:访问成员的速度快.但是插入和删除,搜寻元素速度慢.
set的特性:访问速度慢,但插入数度较快.
map的特性:插入,删除,都快.myMap.put(name,value);
以上都有很多实现形式.就像hashset是以哈希表的形式实现了set

无论是vector或是map这种大小可变的数据结构.都有一个初始化的大小.当其中存储的成员数目超过初始化的大小,比如10.则jvm将按一定规则增多其容量.必然扩大到一倍.
应为每次扩大容量时实际上是从新构建一个更大容量的对象,并将原对象中的数据copy到其中,并删除原对象.因此,如果选择不当,当频繁发生此类操作时,将影响性能.但一般情况下,确实的定义已经可以了

阅读更多
个人分类: java基础
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

对象集合概述(原创)

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭