Java

1.集合类存放于java.util包中。
2.集合类存放的都是对象的引用,而非对象本身,出于表达上的便利,我们称集合中的对象就是指集合中对象的引用(reference)。
3.集合类型主要有3种:set(集)、list(列表)和map(映射)。
4.集合接口分为:Collection和Map,list、set实现了Collection接口
 
Collection  <--List  <--Vector  <--Stack
Collection  <--List  <--ArrayList
Collection  <--List  <--LinkedList
Collection  <--Set  <--HashSet
Collection  <--Set  <--HashSet  <--LinkedHashSet
Collection  <--Set  <--SortedSet  <--TreeSet
 
Vector : 基于Array的List,其实就是封装了Array所不具备的一些功能方便我们使用,它不可能走出Array的限制。性能也就不可能超越Array。所以,在可能的情况下,我们要多运用Array。另外很重要的一点就是               Vector“synchronized”的,这个也是Vector和ArrayList的唯一的区别。
ArrayList:同Vector一样是一个基于数组实现的,但是不同的是ArrayList不是同步的。所以在性能上要比Vector优越一些,但是当运行到多线程环境中时,可需要自己在管理线程的同步问题。
LinkedList:LinkedList不同于前面两种List,它不是基于Array的,所以不受Array性能的限制。它每一个节点(Node)都包含两方面的内容:
      1.节点本身的数据(data);
      2.下一个节点的信息(nextNode)。所以当对LinkedList做添加,删除动作的时候就不用像基于Array的List一样,必须进行大量的数据移动。只要更改nextNode的相关信息就可以实现了。这就是LinkedList的优势。
 
java.util包
 *ArrayList
   1.底层是利用(动态)数组形式实现 1.5
   2.ArrayList特点适合遍历轮询   不适合插入删除
   3.如何构建一个ArrayList对象
      无参数构造方法    带默认容量构造方法
   4.ArrayList中常用的方法
      增删改查 add(E e)  remove(index)  set(index value)  get(index)   size()
    类中其他常用的方法
       addAll并集   removeAll差集   ratainAll交集
       indexOf()  lastIndexOf()  contains()  List=subList()
       isEmpty()  clear()   ensureCapacity()  iterator();迭代器
       toArray(T[] x);  trimToSize();
   5.泛型
      用来规定数据类型
      注意:  泛型  造型
      在类或接口描述的时候  可以使用某种符号来表示一个未知的类型
      在类型使用的时候  需要一个具体类型来代替
      注意:  泛型需要使用引用数据类型来代替
        1.泛型类  2.泛型接口  3.泛型方法  4.方法参数泛型限制 
 
Vector类
   1.java.util包
   2.是ArrayList集合的早期版本 (StringBuffer早期  StringBuilder后来)
      Vector底层也是利用(动态)数组的形式存储
      Vector是线程同步的(synchronized)  安全性高  效率低
   3.扩容方式与ArrayList不同
      默认是扩容2倍   可以通过构造方法创建对象时修改这一机制
   4.构造方法
   5.常用方法
 
Stack类 栈
   1.java.util包
   2.构造方法只有一个无参数
   3.除了继承自Vacton类的方法外还有特殊的方法
      push(E e)将某一个元素压入栈顶(add())
      E = pop()将某一个元素从栈顶取出并删掉(E = remove())
      E = peek()查看栈顶的一个元素 不删除(get())
      boolean = empty()判断栈内元素是否为空(isEmpty())
      int = search()查找给定的元素在占中的位置(indexOf())
 
ArrayList
 LinkedList类
   1.java.util包  内部类Node<T>对象(节点 prev item next)
   2.底层使用双向链表的数据结构形式来存储
        适合于插入或删除  不适合遍历轮询
   3.构建对象
      无参数构造方法   带参数的构造方法(collection)
   4.常用的方法
      增删改查   add()  remove()  set()  get()  size() offer  poll   peek
      手册中提供的其他常用方法
      addAll   addFist   addLast()  clear()  contains()
      element()  getFirst()  getLast()  indexOf()  lastIndex()
        .....
原文地址:https://www.cnblogs.com/yyanghang/p/11192121.html