数组的特点:

  1.长度一旦被定义,不允许被改变

  2.在内存中开辟连续的空间

  3.便于查询,但是插入和删除麻烦

集合框架  父接口Collection

public interface List<E> extends Collection<E> 

public interface Set<E> extends Collection<E> 

public interface Map<K,V> 

  Vector  线程安全,但是性能低

  List    存储的都是不唯一、有序(插入顺序)的数据!

  Set     存储的都是唯一、无序的数据!

  Map

    List接口常用的实现类

    01.ArrayList  底层就是一个动态数组,自动扩充!

      新增和删除的效率低!遍历数据快!

    02.LinkedList   底层就是一个链表

      新增和删除的效率高!遍历数据慢!

    Set接口常用的实现类

    01.HashSet  散列表

      001.add新增数据

      002.其实是使用了map.put()

      003.map.put(key.value)决定了key是唯一的

    两个数据如果内容一致,hash值肯定一样!

    两个数据如果hash值一样,内容可能不一致!

      001.比较hash

      002.比较内存地址

      03.equals比较内容

    02.TreeSet  树型结构  自带排序

      只有实现Comparable接口的类才能被排序!

    Map  单独的接口

    01.HashMap

      001.Iterator  所有集合中都有一个Iterator,用来遍历集合中的数据!

        hasNext() 判断集合中是否存在下一个元素  返回时boolean

        next() 获取集合中下一个元素

        remove() 删除元素

    02.TreeMap

    03.HashTable

      001.HashMap 线程不安全,但是性能高

        HashTable 线程安全,但是性能低

      002.HashTable 从1.0版本就已经开始使用

        HashMap  从1.2版本才已经开始使用

      003.HashMap 底层局势hash表来实现的 key和value都可以是null

        HashTable key和value都不可以是null

Collections

  一些方法来操作集合类!

 

版权声明:本文为dongfengpo原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/dongfengpo/p/8073143.html