java中的集合类:是一种工具类,就像是容器,储存任意数量的具有共同属性的对象。
在编程时,常常需要集中存放多个数据,当然我们可以使用数组来保存多个对象。但数组长度不可变化,一旦初始化数组时指定了数组长度,则这个数组长度是不可变的,如果需要保存个数变化的数据,数组就有点无能为力了;而且数组无法保存具有映射关系的数据。
Java的集合类主要由两个接口派生而出:Collection和Map
包含了常用的数据结构:集合、链表、队列、栈、数组、映射等。Java集合工具包位置是java.util.*
Java集合主要可以划分为4个部分:List列表、Set集合、Map映射、工具类(Iterator迭代器、Enumeration枚举类、Arrays和Collections)、。
Java集合工具包框架图(如下):
collection是一个接口,他包含了集合的基本操作和属性。
collection包含了2个分支,set和list。
(1)List是一个有序的队列,每一个元素都有它的索引。list的实现由ArrayList、linkedList、Vector、Stack。
(2) Set是一个不允许有重复元素的集合。它的实现有,hashSet、treeSet。HashSe通过HashMap实现的;TreeSet依赖于TreeMap,它实际上是通过TreeMap实现的。
Map是一个映射接口,即key-value键值对。
AbstractMap是个抽象类,它实现了Map中的基本功能。而HashMap,TreeMap,WeakHashMap都是继承于AbstractMap。
Iterator接口是迭代器,真正实现集合迭代的接口,不同集合的迭代方式不同,是应为有不同的iterator实现。
Arrays和Collections。它们是操作数组、集合的两个工具类。