`
zhouyrt
  • 浏览: 1131156 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

索引数组、关联数组和静态数组、动态数组

阅读更多

    数组分类:

1、从数组的下标分为索引数组、关联数组

 

/* 索引数组,即通常情况下所说的数组 */
var ary1 = [1,3,5,8];
//按索引去取数组元素,从0开始(当然某些语言实现从1开始)
//索引实际上就是序数,一个整型数字
alert(ary1[0]);
alert(ary1[1]);
alert(ary1[2]);
alert(ary1[3]);

/* 关联数组,指以非序数类型为下标来存取的数组  python中称为字典 */
var ary2 = {};
//存取时,以非序数(数字),这里是字符串
ary2["one"] = 1;
ary2["two"] = 2;
ary2["thr"]  = 3;
ary2["fou"] = 4;

 

2、从对数据的存储分为静态数组、动态数组

 

/* java中的静态数组 */
Int[] ary1 = {1,3,6,9};//定义后数组的长度固定了不能改变,按索引取数组元素


/* java中的动态数组 
(java中的ArrayList实现是以Array为基础的,这里说动态数组是广义的,不管采用什么方式实现。不要较劲)
 */
List<Integer> ary2 = new ArrayList<Integer>();
ary2.add(1);//可以动态的添加元素,数组的长度也随着变化
ary2.add(3);
ary2.add(6);

 

/* js的数组属于动态数组 */
var ary = [];//定义一个数组,未指定长度
ary[0] = 1;//可以动态的添加元素
ary.push(3);
ary.push(5);

alert(ary.join(","));//输出1,3,5
 

js的数组同时属于索引数组和动态数组,因为本质上它就是一个js对象,体现着js动态语言特性。但js的索引数组并非“连续分配”内存的,因此索引方式并不会带来很高的效率。而java中的数组则是连续分配内存的。

分享到:
评论

相关推荐

    JavaScript中的索引数组、关联数组和静态数组、动态数组讲解

    1、从数组的下标分为索引数组、关联数组 代码如下: /* 索引数组,即通常情况下所说的数组 */ var ary1 = [1,3,5,8]; //按索引去取数组元素,从0开始(当然某些语言实现从1开始) //索引实际上就是序数,一个整型...

    IC验证面试常问88道题

    关联数组主要用于需要超大空间但又不是全部需要所有数据的时候,类似于hash,通过一个索引值和一个数据组成,索引值必须是唯一的。队列结合了链表和数组的优点,可以在任何位置进行增加或者删除元素。 Q2. 多线程 ...

    面试常问问题文档.pdf

    * 关联数组:主要针对需要超大空间但又不是全部需要所有数据的时候使用,类似于 hash,通过一个索引值和一个数据组成,索引值必须是唯一的。 * 队列:队列结合了链表和数组的优点,可以在一个队列的任何位置进行增加...

    systemverilog知识点总结思维导图版

    // 声明一个关联数组array,数组的索引为string 二、结构体和枚举 * 结构体:struct {int a; int b;} s; // 声明一个结构体s * 枚举:enum {A, B, C} e; // 声明一个枚举e 三、队列及其数组方法 * 队列声明:...

    谭浩强C语言程序设计,C++程序设计,严蔚敏数据结构,高一凡数据结构算法分析与实现.rar

    78.9.1 动态存储方式与静态动态存储方式 120 8.9.2 auto变量 120 8.9.3 用static 声明局部变量 121 8.9.4 register 变量 122 用extern 声明外部变量 123 9 预处理命令 9.1 概述 124 9.2 宏定义 125 9.2.1 无参宏定义...

    谭浩强C语言程序设计,C++程序设计,严蔚敏数据结构,高一凡数据结构算法分析与实现.rar )

    78.9.1 动态存储方式与静态动态存储方式 120 8.9.2 auto变量 120 8.9.3 用static 声明局部变量 121 8.9.4 register 变量 122 用extern 声明外部变量 123 9 预处理命令 9.1 概述 124 9.2 宏定义 125 9.2.1 无参宏定义...

    Absolute C++中文版(原书第2版)-完美的C++教程,文档中还包含英文版

    10.2.2 创建和使用动态数组 294 10.2.3 指针运算 298 10.2.4 多维动态数组 299 10.3 类、指针和动态数组 300 10.3.1 -&gt;操作符 301 10.3.2 this指针 301 10.3.3 重载赋值操作符 302 10.3.4 析构函数 309 ...

    ActionScript开发人员指南中文版

    索引数组 关联数组 多维数组 克隆数组 扩展Array类 数组示例:播放列表 第章:处理错误 错误处理基础知识 错误类型 ActionScript中的错误处理 使用Flash运行时的调试版 在应用程序中处理同步错误 创建自定义错误类 ...

    C#语言规范(4.0版本)

    7.2 静态和动态绑定 130 7.2.1 绑定时间 131 7.2.2 动态绑定 131 7.2.3 构成表达式的类型 131 7.3 运算符 131 7.3.1 运算符的优先级和顺序关联性 132 7.3.2 运算符重载 133 7.3.3 一元运算符重载决策 134 7.3.4 二元...

    微软C#语言规范,C#语言教程中文版

    7.2 静态和动态绑定 130 7.2.1 绑定时间 131 7.2.2 动态绑定 131 7.2.3 构成表达式的类型 131 7.3 运算符 131 7.3.1 运算符的优先级和顺序关联性 132 7.3.2 运算符重载 133 7.3.3 一元运算符重载决策 134 7.3.4 二元...

    C#语言规范4.0

    7.2 静态和动态绑定 130 7.2.1 绑定时间 131 7.2.2 动态绑定 131 7.2.3 构成表达式的类型 131 7.3 运算符 131 7.3.1 运算符的优先级和顺序关联性 132 7.3.2 运算符重载 133 7.3.3 一元运算符重载决策 134 7.3.4 二元...

    C#语言规范(2.0,3.0,4.0合集)

    7.2 静态和动态绑定 130 7.2.1 绑定时间 131 7.2.2 动态绑定 131 7.2.3 构成表达式的类型 131 7.3 运算符 131 7.3.1 运算符的优先级和顺序关联性 132 7.3.2 运算符重载 133 7.3.3 一元运算符重载决策 134 7.3.4 二元...

    C#_语言规范_4.0_中文版

    7.2 静态和动态绑定 130 7.2.1 绑定时间 131 7.2.2 动态绑定 131 7.2.3 构成表达式的类型 131 7.3 运算符 131 7.3.1 运算符的优先级和顺序关联性 132 7.3.2 运算符重载 133 7.3.3 一元运算符重载决策 134 7.3.4 二元...

    PHP学习笔记之二

    在PHP中,数组是一个关联数组,或者说是哈希表。PHP不需要预先声明数组的大小,可以用直接赋值的方式来创建数组。例如: ```php $state[0]="Beijing"; $state[1]="Hebei"; $state[2]="Tianjin"; ``` PHP中的数组...

    C#5.0本质论第四版(因文件较大传的是百度网盘地址)

    2.7.2 数组的实例化和赋值 45 2.7.3 数组的使用 48 2.7.4 字符串作为数组使用 52 2.7.5 常见数组错误 53 2.8 小结 55 第3章 操作符和控制流 57 3.1 操作符 57 3.1.1 一元操作符正和负 ...

    C#索引器简单实例代码

    打开.Net Framework源代码随便看几个类,就会发现索引器的影子。索引器可以被重载,可以接收一个或者多个参数,但是不可以定义为静态的。可以用关联数组的方式访问索引器。

Global site tag (gtag.js) - Google Analytics