集合概述

集合概述

  • 所有的集合类和集合接口都在java.util包下

  • Java集合分为两大类:

    一:是单个方式存储元素,超级父接口时java.util.Collection

    二: 是以键值对的方式存储元素,超级父接口是java.util.Map

  • Iterable 可迭代的,可遍历的,所有的集合都是可迭代可遍历的

    方法:iterator(),得到集合的迭代器对象Iterator

  • Iterator :

    hasNext()
    next() //返回迭代中的下一个元素。
    remove() 
    

Collection

  • List存储元素的特点:

    可重复,有序,存储的元素有下标.

    有序是指存进去是什么顺序取出来也是什么顺序

    下标从0开始

  • set存储元素的特点:

    不可重复,无序,无下标

  • ArrayList : 底层是数组,线程不安全

  • LinkList : 底层是双向链表

  • Vector : 底层是数组,线程安全,效率低,少用,有其他解决方案

  • HashSet : new一个HashSet对象,其实是new了一个HashMap对象

    向HashSet里存储数据,实际上是存储到了HashMap里

    HashMap的底层结构是采用了哈希表

  • TreeSet : new一个TreeSet对象,其实是new了一个TreeMap对象

    向TreeSet里存储数据,实际上是存储到了TreeMap里

    TreeMap的底层结构是采用了二叉树

  • SortedSet : 元素会自动根据大小进行排序,称为可排序的集合

Map

  • Map集合的特点:

    1. Map集合和Collection集合没有关系
    2. Map集合是以键值对的方式存储元素
    3. key和value都是储存Java对象的内存地址
    4. 所有Map集合的key特点 : 无序不可重复 Map集合的key和Set集合存储元素的特点相同
  • HashMap : 底层是哈希表数据结构,非线程安全

  • HashTable : 底层是哈希表数据结构,线程安全,少用,有替代办法

  • Properties : 线程安全的,key和value只支持String类型,属性类

  • SortedMap : key部分元素会自动根据大小进行排序,称为可排序的集合

  • TreeMap : 底层是二叉树

posted @ 2020-12-06 13:14  阿灿呀  阅读(126)  评论(0)    收藏  举报