Java集合框架剖析

Posted liuyongwade

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java集合框架剖析相关的知识,希望对你有一定的参考价值。

一、Java集合 

集合简易架构图:

技术分享图片

1、集合是什么?

  存储对象的容器,面向对象语言对事物的体现都是以对象的形式,所以为了方便对多个对象的操作,存储对象,集合是存储对象最常用的一种方式。

  集合中可以存储任意类型的对象,而且长度可变。在程序中有可能无法预先知道需要多少个对象,那么用数组来装对象的话,长度不好定义,而集合解决了这样的问题。

2、集合与数组的区别?

  数组长度是固定的,一旦声明好,不可改变,集合长度是可变的。数组中可以存储基本数据类型,集合只能存储对象数组中存储数据类型是单一的,集合中可以存储任意类型的对象。

3所有集合类都位于java.util包下CollectionMapJava集合框架的根接口

4Collection是高度抽象出来的集合根接口它包含了集合的基本操作和属性Collection包含了ListSet两大分支。
  List集合是有序集合,集合中的元素可以重复,也维护元素的插入顺序,访问集合中的元素可以根据元素的索引来访问每一个元素都有它的索引。第一个元素的索引值是0

  List的实现类有LinkedListArrayListVectorStack


  Set集合是无序集合,集合中的元素不可以重复,访问集合中的元素只能根据元素本身来访问。Set依赖于Map,它实际上是通过Map实现的;

  Set的实现类有HashSetLinkedHashSetTreeSet

 

java.util.Collection  

        ---| Collection      描述所有接口的共性  

            ----| List接口    可以有重复元素的集合  

            ----| Set  接口    不可以有重复元素的集合

 

5、Map接口是一个保存Key-value映射型的接口Collection接口两个独立的接口,访问根据每项元素的key来访问其valueMap的每一个元素包含一个keyvalueAbstractMap是个抽象类,它实现了Map接口中的大部分API

   Map接口实现类有HashMapTreeMapLinkedHashMapHashtable

 

二、准备工作

1、环境:JDK8Eclipse

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集合框架剖析的主要内容,如果未能解决你的问题,请参考以下文章

转:Java集合源码剖析Java集合框架

Java集合源代码剖析Java集合框架

Java集合框架剖析

java集合框架

Java集合框架

Java集合框架常见面试题