面向对象语言对事物的体现都是以对象的形式,所以为了方便对多个对象的操作,Java就提供了集合类

集合与数组的区别

长度区别:数组的长度是固定的而集合的长度是可变的
存储数据类型的区别:数组可以存储基本数据类型 , 也可以存储引用数据类型; 而集合只能存储引用数据类型
内容区别:数组只能存储同种数据类型的元素 ,集合可以存储不同类型的元素

集合继承体系图

Java语言基础-集合

Collection集合

添加功能

  • boolean add(Object obj):添加一个元素
  • boolean addAll(Collection c):添加一个集合的元素 (给一个集合添加进另一个集合中的所有元素)
    删除功能
  • void clear():移除所有元素
  • boolean remove(Object o):移除一个元素
  • boolean removeAll(Collection c):移除一个集合的元素(移除一个以上返回的就是true) 删除的元素是两个集合的交集元素,如果没有交集元素 则删除失败 返回false
    判断功能
  • boolean contains(Object o):判断集合中是否包含指定的元素
  • boolean containsAll(Collection c):判断集合中是否包含指定的集合元素(这个集合 包含 另一个集合中所有的元素才算包含 才返回true)

把集合转化成数组

Java语言基础-集合

迭代器

Java语言基础-集合

List

元素有序,并且每一个元素都存在一个索引.元素可以重复

List集合的特有功能概述

  • void add(int index,E element): 在指定索引处添加元素
  • E remove(int index):移除指定索引处的元素 返回的是移除的元素
  • E get(int index):获取指定索引处的元素
  • E set(int index,E element):更改指定索引处的元素 返回的而是被替换的元素

List的三个子类的特点

ArrayList

  • 底层数据结构是数组,查询快,增删慢
  • 线程不安全,效率高
    Vector
  • 底层数据结构是数组,查询快,增删慢
  • 线程安全,效率低
    LinkedList
  • 底层数据结构是链表,查询慢,增删快
  • 线程不安全,效率高

相关文章: