Collection API如下:
Collection是集合的祖宗类,它的功能是全部都可以继承使用的,所以要学习它。
- public boolean add(E e) : 把给定的对象添加到当前集合中。
- public void clear() : 清空集合中所有的元素。
- public boolean remove(E e) : 把给定的对象在当前集合中删除。
- public boolean contains (object obj) : 判断当前集合中是否包含给定的对象。
- public boolean isEmpty() : 判断当前集合是否为空。
- public int size() : 返回集合中元素的个数。
- public object[] toArray() : 把集合中的元素,存储到数组中。
public class Test{
public static void main(String[] args) {
Collection<String> lists = new ArrayList<>();
// 1.添加元素
lists.add("hello");
lists.add("world");
lists.add("java");
lists.add("mysql");
lists.add("data");
// 2.删除元素
boolean b = lists.remove("data");
System.out.println(b);
System.out.println(lists);
// 3.判断集合是否为空
boolean e = lists.isEmpty();
System.out.println(e);
// 4.判断是否包含某个元素
lists.contains("java");
// 5.将集合转换成数组
Object[] arrs = lists.toArray();
System.out.println(arrs);
// 6.判断集合中元素的个数
lists.size();
// 7.清除集合中的元素
lists.clear();
List集合总结:
- ArrayList集合:
- 1.底层是数组实现的。
- 2.ArrayList默认初始化容量是10,每次扩容时先扩容0.5倍,也就是扩容为原来的1.5倍。
- 3.在增删时,需要数组的拷贝和复制(native()方法是由C/C++实现的)
- LinkedList集合:
- 底层实现是双向链表[双向链表⽅便实现往前遍历]。
- Vector集合:
- 底层是数组,现在已少⽤,被ArrayList替代,原因有两个:
Vector所有⽅法都是同步,有性能损失。
Vector初始length是10 超过length时 以100%⽐率增⻓,相⽐于ArrayList更多消耗内存。
- 底层是数组,现在已少⽤,被ArrayList替代,原因有两个:
总的来说:查询多⽤ArrayList,增删多⽤LinkedList