zoukankan      html  css  js  c++  java
  • 容器

    容器API

    两个对象equal时,两个对象的hashcode相等

    Set

    没有顺序且不可以重复

    HashSet

    哈希表(数组+链表)

    List

    有顺序且可以重复(两个对象直接回想的equal,就算重复)

    ArrayList

    数组结构

    LinkList

    链表结构

    Map

    键值对

       

       

    是否包含某个对象,也是是否equal

    Collection中装的必须都是Object对象

       

    当对象在Map中作为键使用,当做引用时,使用hashCode判断是否相等,hashCode效率更高

    重写equal对象应该重写hashCode方法

       

    Iterator(迭代器)

    统一的遍历Collection中元素的方法(类似一个指针,指向元素的左边)

    返回值1.5之后是泛型E,1.5之前是Object

       

    增强for循环

       

       

    Set

    TreeSet用树实现的

    List(会不断的改变容量大小)

    常用算法

    binarySearch为二分法查找(折半查找)

       

    如何选择数据结构

    Array是数组,内存空间是连续的,直接偏移,读很快,改需要把前面的数据复制成新的数组,

    改完再复制回去,改的慢

    Linked是链表,内存空间不连续,读很慢,改直接更改链表的指向,改的块

    Hash基本不再使用了
     

    Map

       

    不能重复依然是比较equal,比较equal比较麻烦,一般比较hashcode比较方便

    put返回的object为通过key复制到原value后,原value返回所以使用object

  • 相关阅读:
    8.31前端 jQuery
    8.30前端jQuery和数据结构知识
    8.29 jQuery
    8.28 jQuery
    8.27 jQuery
    8.26 js
    chrome开发工具指南(十二)
    chrome开发工具指南(十一)
    chrome开发工具指南(十)
    chrome开发工具指南(九)
  • 原文地址:https://www.cnblogs.com/ChengR/p/13047594.html
Copyright © 2011-2022 走看看