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

Java集合框架剖析(1)

时间:2018-11-11 20:11:22      阅读:132      评论:0      收藏:0      [点我收藏+]

标签:vector   class   分享   无法   可变   strong   定义   --   info   

一、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集合框架剖析(1)

标签:vector   class   分享   无法   可变   strong   定义   --   info   

原文地址:https://www.cnblogs.com/liuyongwade/p/9942993.html

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