1.集合类概述
java.util包中提供了一些集合类,这些集合类又被称为容器。提到容器不难想到数组。集合类与数组的不同之处是:数组的长度是固定的,集合的长度是可变的;数组用来存放基本类型的数据,集合用来存放对象的引用。常用和集合又List集合、Set结合和Map集合,其中List集合与Set集合继承了Collection接口,各接口还提供了不同的实现类。
2.Collection接口
Collection接口是层次结构中的根接口,构成Collection的单位称为元素。Collection接口通常不能直接使用,但该接口提供了添加元素、删除元素、管理数据的方法。由List接口与Set接口都继承了Collection接口,因此这些方法对List集合与Set集合是通用的。Collection接口的常用方法如下图
例题:
3.List集合
1.List接口
List接口继承了Collection接口,因此包含Collection接口中的方法。此外,List接口还定义了以下两个非常重要的方法:
get(int index):获得指定索引位置的元素。
set(int index,Object obj):将集合中指定索引位置的对象修改为指定的对象。
2.List接口的实现类
常用的实现类有ArrayList和LinkedList:
ArrayList 实现了可变数组,允许保存所有元素,包括null。
LinkedList 采用链表接口保存对象。
例题
4.set集合
set接口常用的实现类有HashSet类与TreeSet类:
HashSet类实现Set接口,由哈希表支持。不保证Set集合的迭代顺序,它不保证Set集合的迭代顺序,特别是不保证该顺序恒久不变。此类允许使用null元素。
TreeSet类不仅实现Set接口,还实现了java.util.SortedSet接口,因此TreeSet类实现的Set集合在遍历集合时按照自然顺序递增排序,也可以按照指定比较器递增排序。
例题
5.Map集合
1.Map接口
Map接口提供了将Key映射到值的对象,一个映射不能包含重复的Key,每个Key最多映射到一个值。
2.Map接口的实现类
HashMap 类是基于哈希表的Map接口实现,允许null值和null键,必须保持键的唯一性。此类不保证映射的顺序恒久不变。
TreeMap 类不仅实现了Map接口,还实现了java.util.SortedMap接口,映射关系具有一定顺序。
例题: