7月24号知识点-集合

2018-07-25  本文已影响11人  须臾之北

7月20号知识点

今天主要内容

一、集合框架(集合的由来及集合继承体系图)

  1. 集合的由来

    • 数组长度是固定,当添加的元素超过了数组的长度时需要对数组重新定义,太麻烦,java内部给我们提供了集合类,能存储任意对象,长度是可以改变的,随着元素的增加而增加,随着元素的减少而减少
  2. 数组和集合的区别

    • 区别1 :

      • 数组既可以存储基本数据类型,又可以存储引用数据类型,基本数据类型存储的是值,引用数据类型存储的是地址值

      • 集合只能存储引用数据类型(对象)集合中也可以存储基本数据类型,但是在存储的时候会自动装箱变成对象

    • 区别2:

      • 数组长度是固定的,不能自动增长

      • 集合的长度的是可变的,可以根据元素的增加而增长

  3. 数组和集合什么时候用

    • 如果元素个数是固定的推荐用数组

    • 如果元素个数不是固定的推荐用集合

  4. 集合继承体系图

image

二、集合框架(Collection集合的基本功能测试)

三、集合框架(集合的遍历之forEach()遍历)

四、集合框架(集合的遍历之Iterator遍历)

五、集合框架(迭代器的原理及源码解析)(了解)

六、集合框架(List集合的特有功能概述和测试)

  1. List集合的特有功能概述

    • void add(int index,E element)

    • E remove(int index)

    • E get(int index)

    • E set(int index,E element)

七、集合框架(并发修改异常产生的原因及解决方案)

八、集合框架(ListIterator)(了解)

九、Vector

十、集合框架(数据结构之数组和链表)

十一、_集合框架(List的三个子类的特点)

  1. List的三个子类的特点
    • ArrayList:

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

      • 底层数据结构是数组,查询快,增删慢。
      • 线程安全,效率低。
      • Vector相对ArrayList查询慢(线程安全的)
      • Vector相对LinkedList增删慢(数组结构)
    • LinkedList:

      • 底层数据结构是链表,查询慢,增删快。
      • 线程不安全,效率高。
    • Vector和ArrayList的区别

      • Vector是线程安全的,效率低
      • ArrayList是线程不安全的,效率高
    • 共同点:都是数组实现的

    • ArrayList和LinkedList的区别

      • ArrayList底层是数组结果,查询和修改快
      • LinkedList底层是链表结构的,增和删比较快,查询和修改比较慢
    • 共同点:都是线程不安全的

2.List有三个儿子,我们到底使用谁呢?

上一篇下一篇

猜你喜欢

热点阅读