Java集合

来源:互联网 发布:而知也无涯成语 编辑:程序博客网 时间:2024/04/29 00:04

1.集合框架概述

1.1 容器简介    

1.1 容器的分类

2Collection

2.1 常用方法

2.2 迭代器

3List  

3.1 常用方法

3.2 实现原理

4Map

4.1 常用方法

4.2 Comparable 接口

4.3 实现原理

4.4 覆写hashCode()

5Set

5.1 常用方法

5.2 实现原理

        按照上述的框架,我分5节对Java集合进行详细的描述

1.1   集合框架

 1.1.1 容器简介

      在书写程序的时候,我们常常需要对大量的对象引用进行管理。为了实现有效的归类管理,我们常常将同类的引用放置在同一数据容器中。由于数据容器中存放了我们随时可能需要使用到的对象引用,所以一般的数据容器要都要能能提供方便的查询、遍历、修改等基本接口功能。
     早期的OOP语言都通过数组的方式来实现对引用集的集中管理和维护。但是数组方式下,数组大小需要提前被确定,并不允许修改大小,导致其作为一种灵活的数据容器的能力的功能大为下降。
     为了方便的利用数据容器进行引用的管理,Java中提供了丰富的数据容器以满足程序员多样化的需求
     JAVA的容器---List,Map,Set 
     Collection 

    ├List 
    │├LinkedList 
    │├ArrayList 
    │└Vector 
    │ └Stack 
    └Set 
    Map 
   ├Hashtable 
   ├HashMap 
   └WeakHashMap
!其中的Vector和Stack类现在已经极少使用。

1.1.2     容器的分类 

Java容器类类库的用途是“保存对象”,并将其划分为两个不同的概念:

1)  Collection 。 一组对立的元素,通常这些元素都服从某种规则。List必须保持元素特定的顺序,而Set 不能有重复元素。

2)  Map 。 一组 成对的“键值对”对象。初看起来这似乎应该是一个Collection ,其元素是成对的对象,但是这样的设计实现起来太笨拙了,于是我们将Map明确的提取出来形成一个独立的概念。另一方面,如果使用Collection 表示Map的部分内容,会便于查看此部分内容。因此Map一样容易扩展成多维Map ,无需增加新的概念,只要让Map中的键值对的每个“值”也是一个Map即可。

Collection和Map的区别在于容器中每个位置保存的元素个数。Collection 每个位置只能保存一个元素(对象)。此类容器包括:List ,它以特定的顺序保存一组元素;Set 则是元素不能重复。

Map保存的是“键值对”,就像一个小型数据库。我们可以通过“键”找到该键对应的“值”。

     Collection – 对象之间没有指定的顺序,允许重复元素。

     Set –  对象之间没有指定的顺序,不允许重复元素

     List–  对象之间有指定的顺序,允许重复元素,并引入位置下标。

     Map –  接口用于保存关键字(Key)和数值(Value)的集合,集合中的每个对象加入时都提供数值和关键字。Map 接口既不继承 Set 也不继承 Collection。

 

       List、Set、Map共同的实现基础是Object数组

       除了四个历史集合类外,Java2 框架还引入了六个集合实现,如下表所示。

 

接口

实现

历史集合类

Set

HashSet

 

 

TreeSet

 

List

ArrayList

Vector

 

LinkedList

Stack

Map

HashMap

Hashtable

 

TreeMap

Properties

        

       下一节 Collection


0 0
原创粉丝点击