码迷,mamicode.com
首页 > 编程语言 > 详细

Java 基础

时间:2016-04-22 18:12:58      阅读:153      评论:0      收藏:0      [点我收藏+]

标签:

HashMap、HashSet、HashTable

HashMap<K,V>:

  • 实现原理。 Key.hasCode()的方式确定一个位置 存放在固定长度的数组里. 根据不同的hash存放不同的位置。

     

  • 注意事项:

可以存 空的K和 V;

重复的K 将会后者覆盖前者;

不是线程安全的;

初始化参数(initCapacity,sizeFactor) 初始大小,扩容因子。Map能存储的最大长度为initCapacity*sizeFactor 当没有空间时扩大两备并CopyTable(Copy的 过程中可能出现多线程的相互干扰)

ConcurrentHashMap<K,V> 线程安全的方法同 HashMap类似

  • 支持的方法

遍历:

 Iterator it = map.entrySet().iterator();
        while (it.hasNext())
        {
            Map.Entry<Object,String> current = (Map.Entry<Object,String>)it.next();
            Object ke = current.getKey();
            System.out.print(ke.toString());
        }

 其他的诸如: Put(K,V), Remove(K), ContainsKey(K)

HashTabel<K,V>

线程安全的、Key不能为空

 

HashSet<K>

使用HashMap 实现的.value制成一个对象类型

 

List<T>

跟 Set不同 允许Element重复. 允许为空的元素添加

ArrayList<T>: 上面List的 实现

 

Java 基础

标签:

原文地址:http://www.cnblogs.com/ygshen/p/5422219.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!