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

  • 相关阅读:
    社交类app开发( 仿陌陌 客户端+服务器端)
    iPhone的xib与iPad的xib相互转换
    SVN的搭建
    使用企业证书给iOS应用重签
    [破解版]Unity3d引擎最新稳定版本4.5.5下载(官方最新稳定版本)
    iphone开发资源汇总
    iOS绘图教程
    iOS静态库相关-封装lib
    iOS内存管理策略和实践
    前台中文乱码
  • 原文地址:https://www.cnblogs.com/ChengR/p/13047594.html
Copyright © 2011-2022 走看看