6、集合

数组和集合的比较

  • 数组不是面向对象的,存在明显的缺陷,集合弥补了数组的缺点,比数组更灵活更实用,而且不同的集合框架类可适用不同场合。如下:
    • 数组能存放基本数据类型和对象,而集合类存放的都是对象,集合类不能存放基本数据类型。数组和集合存放的对象皆为对象的引用地址。
    • 数组容易固定无法动态改变,集合类容量动态改变。
    • 集合有多种实现方式和不同适用场合,不像数组仅采用顺序表方式。
    • 集合以类的形式存在,具有封装、继承、多态等类的特性,通过简单的方法和属性即可实现各种复杂操作,大大提高了软件的开发效率。
      6、集合

集合容器

  • Collection和Map,是集合容器的根接口。
    • Collection的子接口:
      • Set:接口—实现类: HashSet、LinkedHashSet
        • Set的子接口SortedSet接口—实现类:TreeSet
      • List:接口—实现类: LinkedList,Vector,ArrayList

List类常用方法

  • 增:add、addAll
  • 删:remove
  • 改:set
  • 查:get、subList、listIterator(可执行遍历过程中的增删改查)
  • 遍历:普通for、增强for、forEach、iterator(collection接口方法,遍历及移除)

Set类使用方式

  • 如果存放自定义的引用对象,需重写hashCode和equals方法。
  • HashSet、LinkedHashSet元素可以为null值,TreeSet不可以。

集合脑图

6、集合