zoukankan      html  css  js  c++  java
  • 数组和链表的区别

    线性表是最基本也是我们用的最多数据结构,它的存储方式有两种:顺序存储和链式存储。

    顺序存储存放在一块连续的内存块中,查找速度快,存放前长度必须固定,所以动态添加和删除较难;

    链式存储由数据和指针两部分组成存放在内存中是不连续的,指针指向下一个数据地址,查找只能通过遍历比较慢,长度不是固定的,所以动态添加和删除简单。

    数组是顺序存储的一种表现形式,链表是链式存储的一种表现形式。

    .Net中array属于顺序存储arraylist,list,hashtable,hastset属于链表。

    arraylist不是类型安全的内部是object类型,不是线程安全的不支持同步。

    list,hashset不是线程安全的,hasttable是线程安全的。

    arraylist和list和hastset都是存放单列的值并且hastset值不能有重复。

    hasttable存放双列值也就是键值对,键不能重复,值可以重复。

    .net中数组是引用类型存放在堆中,这几种类型都继承IEnumerable接口。

  • 相关阅读:
    ios字符串截取/数据存入数组
    ios字典用字符串输出
    ios身份证key字典排序
    java之接口
    Objective Runtime总结
    iOS GCD 详解
    设计模式和应用场景
    内存管理
    core data
    iOS 开发者证书总结 in-house
  • 原文地址:https://www.cnblogs.com/dujq/p/5800427.html
Copyright © 2011-2022 走看看