Java集合------集合框架

一、集合框架

  Java集合是Java提供的工具包,在编程中使用非常频繁。所有集合类都位于java.util包下,集合只用于存储对象,集合长度是可变的,集合可以存储不同类型的对象。

                             集合框架体系图

    Java的集合类主要由两个接口派生而出:CollectionMap,Collection和Map是Java集合框架的根接口,这两个接口又包含了一些子接口或实现类。 

 Collection是一组允许重复的对象(集合的最大接口)存储无序的、不唯一的数据;其下有List和Set两大接口。

    1.List可以存放重复的内容  继承Collection,元素排列是有序的

    2.Set不能存放重复的内容,所有的重复内容靠hashCode()和equals()两个方法区分   接口继承Collection

    (SortedSet可以对集合中的数据进行排序)

    Collection定义了集合框架的共性功能。

                                                 

接口的常用实现类:ArrayList、LinkedList、Vector、HashSet、LinkedHashSet、TreeSet、HashMap、LinkedHashMap、TreeMap、HashTable

Java集合主要可以划分为4个部分:List列表、Set集合、Map映射、工具类(Iterator迭代器、Enumeration枚举类、Arrays和Collections)。

扫描二维码关注公众号,回复: 6529942 查看本文章

 二、简介

List:存储有序的、不唯一的数据;

Set:存储无序的、唯一的数据;

Map:以键值对的形式存储数据,以键取值。键不能重复,但值可以重复。

1、Collection是一个接口,是高度抽象出来的集合,它包含了集合的基本操作和属性。Collection包含了List和Set两大分支。
(1)List是一个有序的队列,每一个元素都有它的索引 ,访问集合中的元素可以根据元素的索引来访问。第一个元素的索引值是0。List的实现类有LinkedList, ArrayList, Vector, Stack。

(2)Set是一个不允许有重复元素的集合,访问集合中的元素只能根据元素本身来访问。Set的实现类有HastSet和TreeSet。HashSet依赖于HashMap,它实际上是通过HashMap实现的;TreeSet依赖于TreeMap,它实际上是通过TreeMap实现的。

2、Map是一个映射接口,即key-value键值对。Map中的每一个元素包含“一个key”和“key对应的value”。AbstractMap是个抽象类,它实现了Map接口中的大部分API。而HashMap,TreeMap,WeakHashMap都是继承于AbstractMap。Hashtable虽然继承于Dictionary,但它实现了Map接口。

3、接下来,再看Iterator。它是遍历集合的工具,即我们通常通过Iterator迭代器来遍历集合。我们说Collection依赖于Iterator,是因为Collection的实现类都要实现iterator()函数,返回一个Iterator对象。ListIterator是专门为遍历List而存在的。

4、再看Enumeration,它是JDK 1.0引入的抽象类。作用和Iterator一样,也是遍历集合;但是Enumeration的功能要比Iterator少。在上面的框图中,Enumeration只能在Hashtable, Vector, Stack中使用。

5、最后,看Arrays和Collections。它们是操作数组、集合的两个工具类。

猜你喜欢

转载自www.cnblogs.com/zl-tenacity/p/10839839.html
今日推荐