集合

数组:

  java的数组既可以存储基本数据类型,也可以存储引用数据类型,它本身也是一种引用数据类型。(且存放的类型必须一致

集合:

  1. 存放其它对象的对象,且只能是对象(即引用数据类型) 由数组的缺点引出集合(长度 不可变且连续)
  2. 所有Java集合类都位于java.util包中

Java中集合主要分为三种类型:

            . Set : 无序,并且没有重复对象。
            . List: 有序(放入的先后的次序), 可重复。(主要特征是其元素以线性方式存储)
            . Map : 集合中的每一个元素包含一对键对象和值对象,集合中没有重复的键对象,值对象可以重复。(Map是一种把键对象和值对象进行映射的集合)

集合体系结构

Collection
├List (有序集合,允许相同元素和null)
│├LinkedList (非同步,允许相同元素和null,遍历效率低插入和删除效率高)
│├ArrayList (非同步,允许相同元素和null,实现了动态大小的数组,遍历效率高,用的多)
│└Vector(同步,允许相同元素和null,效率低)
│ └Stack(继承自Vector,实现一个后进先出的堆栈)
└Set (无序集合,不允许相同元素,最多有一个null元素)

     |-HashSet(无序集合,不允许相同元素,最多有一个null元素)

  |- TreeSet      : 实现SortedSet接口,具有排序功能;

   

 


Map (没有实现collection接口,key不能重复,value可以重复,一个key映射一个value)
├Hashtable (实现Map接口,同步,不允许null作为key和value,用自定义的类当作key的话要复写hashCode和eques方法,)
├HashMap (实现Map接口,非同步,允许null作为key和value,用的多)
└WeakHashMap(实现Map接口)

原文地址:https://www.cnblogs.com/wskb/p/10962251.html