集合类是什么?
List列表、Set集合、Map映射、工具类(Iterator迭代器、Enumeration枚举类、Arrays和Collections)。
Set 接口继承 Collection,但不允许重复,使用自己内部的一个排列机制。
List 接口继承 Collection,允许重复,以元素安插的次序来放置元素,不会重新排列。
Map接口是一组成对的键-值对象,即所持有的是key-value pairs。
设计集合类的目的是什么?
1.实现基本类集(数组、树、链表等)
2.提供高效的操作方法
3.能够对类集进行扩展
集合类的结构?
包含的主要方法?
collection接口主要方法:
boolean add(Object o)添加对象到集合
boolean remove(Object o)删除指定的对象
int size()返回当前集合中元素的数量
boolean contains(Object o)查找集合中是否有指定的对象
boolean isEmpty()判断集合是否为空
Iterator iterator()返回一个迭代器
boolean containsAll(Collection c)查找集合中是否有集合c中的元素
boolean addAll(Collection c)将集合c中所有的元素添加给该集合
void clear()删除集合中所有元素
void removeAll(Collection c)从集合中删除c集合中也有的元素
void retainAll(Collection c)从集合中删除集合c中不包含的元素
常用的集合类有哪些?
继承List接口:ArrayList类,LinkedList类,Vector类,Stack类
继承Map接口:HashMap类,Hashtable类
继承Set接口:HashSet类,TreeSet类
继承Queue接口:Queue接口
各个类的实现及特点?
1.List接口注重索引,Arrayist基于数组实现,易于查询,LinkedList基于双向链表实现,易于增删,Vector接口是List的线程安全版本
2.Set接口有去重功能,HashSet仅仅去重,LinkedHashSet不仅去重,还具有顺序(插入顺序),TreeSet能够去重和排序(自然顺序)
3.Queue接口:先进先出,LinkedList也实现了此接口,PriorityQueue能够实现自然排序
4.Map接口:键值对形式存储,HashMap存储是无序的,Hashtable是线程安全的,LinkedHashMap能够实现插入顺序,TreeMap能够实现自然排序