collection接口
-
collection库函数是在java.util包下的接口和类
-
collection库函数和数组的区别:
数组的容量是有限的,而collection库没有这样的限制,它的容量可以自己调节;collection库只能存放对象,而数组没有这样的限制。 -
存放在collection库中的数据称为元素(element)
接口下的一些方法:
-
Object[ ] toArray()方法 返回一个Object数组
-
boolean add(E e)有包装类自动封箱可以是基本数据类型
-
boolean remove(Object o)从容器中移除元素,元素只是被移除
-
boolean contain(Object o) 容器是否包括o
-
Iterator< E > iterator()可以遍历容器
-
boolean isEmpty();
set接口
- collection的子接口
- set中的数据无序不可重复,类似于数学概念的集合
HashSet类
- 底层实现是通过HashMap实现,底层HashSet调用了HashMap的put(K key, V value)方法,key v就是add()方法传入的对象。因此数据无序不可重复。
list接口
- collection的子接口
- list中的数据有序可以重复
ArrayList类
底层实现是数组,线程不安全,效率高,查询快,修改插入删除慢
LinkedList类
底层实现是链表,线程不安全,效率高,查询慢,修改插入删除快
Vector 类
底层实现是数组,线程安全
map接口
- 储存了“键-值映射对”的方法
- 键值唯一不能重复
map.put("ql",111); map.put("ql",222);
222将111覆盖
HashMap类
- 底层就是一个数组结构,数组中的每一项又是一个链表。数组+链表结构
TreeMap类
reeMap集合是基于红黑树(Red-Black tree)的 NavigableMap实现。该集合最重要的特点就是可排序,该映射根据其键的自然顺序进行排序,或者根据创建映射时提供的 Comparator 进行排序,具体取决于使用的构造方法