注:以下源码基于jdk1.7.0_11
之前的几篇文章介绍了List集合中一些比较常见的类,比如ArrayList、LinkedList、Vector等。本篇文章将介绍集合框架的另一块内容——Map集合。本文主要介绍HashMap。
先回顾下哈希表。
哈希表定义:根据设定的hash函数和处理冲突的方式(开放定址、公共溢出区、链地址、重哈希...)将一组关键字映...
分类:
其他好文 时间:
2014-08-14 10:57:28
阅读次数:
373
1)java集合框架的层次结构2)使用Collection接口定义的公用方法对集合和线性表操作3)使用Iterator接口遍历集合4)使用JDK的增强for循环替代迭代Iterator进行集合遍历5)熟悉Set接口,了解何时及如何使用HashSet,LinkedHashSet或TreeHashSet...
分类:
编程语言 时间:
2014-08-12 21:37:14
阅读次数:
326
很多核心Java面试题来源于多线程(Multi-Threading)和集合框架(Collections Framework),理解核心线程概念时,娴熟的实际经验是必需的。这篇文章收集了Java线程方面一些典型的问题,这些问题经常被高级工程师所问到。0、Java中多线程同步是什么?在多线程程序下,同步...
分类:
编程语言 时间:
2014-08-12 18:53:44
阅读次数:
326
Java集合框架中的Map类型的数据结构是非线程安全,在多线程环境中使用时需要手动进行线程同步。因此在java.util.concurrent包中提供了一个线程安全版本的Map类型数据结构:ConcurrentMap。本篇文章主要关注ConcurrentMa接口以及它的Hash版本的实现Concur...
分类:
编程语言 时间:
2014-08-08 15:43:56
阅读次数:
244
建议先看下:java集合框架小结(进阶版)之HashMap篇基本概念:hashSet:根据java集合框架小结(初级版)图示,HashSet是AbstractSet的一个子类,是基于Hash算法的Set接口的实现,顾名思义。允许添加null。-----------------------------...
分类:
编程语言 时间:
2014-08-05 00:09:48
阅读次数:
372
基本概念:Hash(哈希):hash一般也译作“散列”。事实上,就是一个函数,用于直接定址。将数据元素的关键字key作为变量,通过哈希函数,计算生成该元素的存储地址。冲突:函数是可以多对一的。即:多个自变量可以映射到同一函数值。一般而言,不同的key的hash值是不同的。在往hash表中映射的时候,...
分类:
编程语言 时间:
2014-08-05 00:01:50
阅读次数:
548
今天大概的整理了一下java集合框架,在这里做一个小结,方便以后查阅,本博文主要参考资料为《java编程思想第四版》第11章——持有对象以及JAVA 1.6 API文档。并没有研究更深入的第17章。大概介绍了集合框架中几个比较常用的集合类。以下为正文。首先来看一张图,不太会用visio,画的可能不太...
分类:
编程语言 时间:
2014-08-04 04:10:56
阅读次数:
341
1:集合:
集合的概念:数据容器(与数组类似)。容器比较适合装对象。
2:集合与数组的优缺点:
数组存取效率高,使用时要求容量大小固定;适合基本数据类型的存取;
集合存取效率上有一定的牺牲,集合容量大小可以根据实际需要改变,
提供丰富的存和取对象的方法,适合成为对象的“容器”
3:集合框架体系图
接口的图标
类的图...
分类:
其他好文 时间:
2014-08-03 07:52:45
阅读次数:
268
java类集的整个体系的组成和关系,以及各个接口,类的文字说明: 集合框架的特征:高性能,对动态数组,链接表,树和散列表的实现是高性能,允许不同类型的类集以相同的方式工作.它不受对象数组长度的限制 Collection: -|:List 里面的内容是有序的(存入和取出的顺序一致),允许重复的内容,有...
分类:
编程语言 时间:
2014-07-30 23:21:35
阅读次数:
375
学习了这么久的java,我打算在这个暑假期间进行javase的总结,加深自己对java基础的理解总结的重点有以下几个部分:1.Socket网络编程2.I/O文本操作3.多线程4.java集合框架5.异常处理6.java类的继承封装和派生并且在总结这些基础知识的过程中还将写出三个javase中小型项目,加深..
分类:
编程语言 时间:
2014-07-29 15:28:49
阅读次数:
235