什么是集合

  • 集合实际上就是一个容器,可以容纳其他类型的数据?集合为什么在开发中使用很多?
  • 可以一次承载多个对象,在实际开发中,假设连接数据库,数据库中有10条记录,我们可以把它封装成10个对象,然后存放在一个集合中,要用的时候拿出来一起用
  • 不能直接存储基本数据类型,也不能存储java对象。集合中存储的是java对象的内存地址。存储的是-引用,集合在java中本身就是一个对象。
  • 在java中每一个不同的集合,底层对应不同的数据结构,往不同的集合中存储元素等于把数据放到了不同的数据结构中。不同的数据结构,数据存储方式不同。比如:数组,二叉树,哈希表
  • java已经将数据结构实现了,变成了集合类,只要掌握怎么用即可。
  • 集合在javaJDK中的java.util包下
  • 在java中集合分为两大类:
  • 单个方式存储元素 这一类集合的超级父接口是java.util.Collection
  • 以键值对的方式存储元素,这一类集合的超级父接口是java.util.Map
  • Iterator it = “Collection对象”.iterator(); it是集合的迭代器对象
  • 所有集合都继承Iterable的含义是,所有集合都是可迭代的。
  • Set集合的继承结构图

java 集合减法的定义 java中的集合详解_数据结构

  • Map集合继承结构图

java 集合减法的定义 java中的集合详解_链表_02

  • 总结
  • ArrayList:底层是数组
  • LinkedList:底层是双向链表
  • Vector:底层是数组,线程安全,使用较少
  • HashSet:底层是HashMap。放到HashSet中的元素相当于放到HashMap集合的key
  • TreeSet:底层是一个TreeMap,放到HashSet中的元素相当于放到TreeMap集合的key
  • HashMap:底层是哈希表
  • Hashtable:底层也是哈希表,只不过线程安全,效率较低
  • Properties:是线程安全的,但是key,value只能存储String
  • 底层是二叉树。TreeMap集合的key可以按照大小自动排序
  • List集合存储元素的特点:有序,存储和取出顺序相同,有下标。可重复
  • Set(Map)集合存储元素的特点:无序,可重复
  • SortedSet集合存储元素的特点:无序不可重复但是可排序