集合和数组区别

  • 数组的长度是固定的,集合的长度是可变的
  • 数组存储的是同一类型的元素,可以存储基本数据类型值;集合存储的都是对象,对象的类型可以不一致

image.png

Collection

Collection接口

Collection集合常用方法

方法 说明
boolean add(E e); 向集合中添加元素
boolean add(Collection<E> c); 将集合中的所有元素添加到该集合中
boolean remove(E e); 删除集合中某个元素
void clear(); 清空集合所有元素
boolean contains(E e); 判断集合中是否包含某个元素
boolean containsAll(Collection<E> c);
boolean isEmpty(); 判断集合是否为空
int size(); 获取集合长度
Object[] toArray(); 将集合转成一个数组
Iterator<E> iterator(); 返回该集合的迭代器

List接口

特点:

  • 有序
  • 允许重复
  • 有索引

    List转数组

    1. // 初始化一个List
    2. List<String> list = Arrays.asList("aaa","bbb","ccc");
    3. // 创建一个大小为List长度的数组
    4. String[] strArray = new String[list.size()];
    5. // 将list转为数组并存储到刚刚创建的空数组中
    6. list.toArray(strArray);

    Set接口

    特点:

  • 不允许重复

  • 没有索引

Iterator迭代器

Iterator接口

boolean hasNext() 如果有元素可迭代,返回true
E next() 返回迭代的下一个元素
remove() 移除迭代器返回的最后一个元素