集合

集合(非常重要)

集合概述

  • 什么是集合?有什么用?

    • 集合实际上就是一个容器。可以用来容纳其他类型的容器,可以一次容纳多个对象。数组也是一个集合。

      在实际开发中,假设连接数据库,数据库当中有10条记录。如果要查询这10条纪律,在java中会将10条数据封装成10个java对象,然后将10个java对象放到某一个集合当中,将集合传到前端,然后遍历集合,将数据展现出来。

  • 集合不能直接存储基本数据类型,另外集合也不能直接存储java对象,集合当中存储的都是java对象的内存地址(引用)。集合也是一个对象

  • 在java中每一个不同的集合,底层会对应不同的数据结构。往不同的集合中存储元素,等于将数据放到了不同的数据结构当中。

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

  • 集合分为两大类

    • 单个方式存储元素:这一类集合中超级父接口:java.util.Collection;
    • 以键值对的方式存储元素:这一类集合中超级父接口:java.util.Map;

集合继承关系图

Collection继承关系

集合

Map继承关系

集合

小结

所有的实现类:

  • ArrayList:底层是数组。
  • LinkedList:底层是双向链表。
  • Vector:底层是数组,线程安全的,效率较低,使用较少。
  • HashSet:底层是HashMap,放到HashSet集合中的元素等同于放到 HashMap集合的key部分。
  • TreeSet:底层是TreeMap,放到TreeSet集合中的元素等同于放到 TreeMap集合中的key部分。
  • HashMap:底层是哈希表。
  • Hashtable:底层是哈希表,线程安全,使用较少。
  • Properties:线程安全的,并且key和Value只能存储字符串String。
  • TreeMap:底层是二叉树。TreeMap集合的key可以自动大小顺序排序。

Collection常用类

  1. Collection中能存放什么元素?
    1. 没有使用“泛型”之前,Collection可以存储Object的所有子类型。
    2. 使用了“泛型”之后,Collection中只能存储某个具体的类型
    3. 集合中不能直接存储基本数据类型,也不能存储java对象,只是存储java对象的内存地址
上一篇:集合体系结构


下一篇:python高级特性-迭代