• 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()
            .....
  • 相关阅读:
    fatal error LNK1123: failure during conversion to COFF: file invalid or corr
    BEGIN_SINK_MAP(CMainDlg) SINK_ENTRY(IDC_EXPLORER1, ..。响应不到的
    第三周项目3-程序的多文件组织
    第三周项目2-三角形类(二)
    第三周项目1-三角形类(一)
    第三周课后实践-阅读程序
    第二周项目4-图书馆的书
    第二周项目3-时间类
    第二周项目2-长方柱类
    第二周项目1-旱冰场造价
  • 原文地址:https://www.cnblogs.com/yyanghang/p/11192121.html
Copyright © 2020-2023  润新知