Java集合框架剖析
Posted liuyongwade
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java集合框架剖析相关的知识,希望对你有一定的参考价值。
一、Java集合
集合简易架构图:
1、集合是什么?
存储对象的容器,面向对象语言对事物的体现都是以对象的形式,所以为了方便对多个对象的操作,存储对象,集合是存储对象最常用的一种方式。
集合中可以存储任意类型的对象,而且长度可变。在程序中有可能无法预先知道需要多少个对象,那么用数组来装对象的话,长度不好定义,而集合解决了这样的问题。
2、集合与数组的区别?
数组长度是固定的,一旦声明好,不可改变,集合长度是可变的。数组中可以存储基本数据类型,集合只能存储对象。数组中存储数据类型是单一的,集合中可以存储任意类型的对象。
3、所有集合类都位于java.util包下,Collection和Map是Java集合框架的根接口。
4、Collection是高度抽象出来的集合根接口,它包含了集合的基本操作和属性。Collection包含了List和Set两大分支。
List集合是有序集合,集合中的元素可以重复,也维护元素的插入顺序,访问集合中的元素可以根据元素的索引来访问,每一个元素都有它的索引。第一个元素的索引值是0。
List的实现类有LinkedList、ArrayList、Vector、Stack等。
Set集合是无序集合,集合中的元素不可以重复,访问集合中的元素只能根据元素本身来访问。Set依赖于Map,它实际上是通过Map实现的;
Set的实现类有HashSet、LinkedHashSet、TreeSet等。
java.util.Collection
---| Collection 描述所有接口的共性
----| List接口 可以有重复元素的集合
----| Set 接口 不可以有重复元素的集合
5、Map接口是一个保存Key-value映射型的接口,跟Collection接口两个独立的接口,访问可根据每项元素的key来访问其value。Map中的每一个元素包含一个key和value。AbstractMap是个抽象类,它实现了Map接口中的大部分API。
Map接口实现类有HashMap、TreeMap、LinkedHashMap、Hashtable等。
二、准备工作
1、环境:JDK8、Eclipse
2、配置JDK环境:https://www.cnblogs.com/smyhvae/p/3788534.html
3、Eclipse配置JDK源码的Debug模式,目的是解决Eclipse调试JDK源码时,无法查看变量值: https://www.cnblogs.com/wangyang108/p/6289343.html
三、代码地址
https://github.com/liuyongwade/collection-practice.git
以上是关于Java集合框架剖析的主要内容,如果未能解决你的问题,请参考以下文章