数组和其它集合类的区别:
主要体现在效率和类型,
对于Java 来说,为保存和访问一系列对象(实际是对象的句柄)数组,最有效的方法莫过于数组。数组实际代表一个简单的线性序列,数组中的数据在内存中是按顺序存储的。因此它使得元素的访问速度非常快,数组中的元素可以按下标索引来访问。但我们却要为这种速度付出代价:创建一个数组对象时,它的大小是固定的,而且不可在那个数组对象的“存在时间”内发生改变。也就是说不能动态的定义一组数组,可创建特定大小的一个数组,然后假如用光了存储空间,就再创建一个新数组,将所有句柄从旧数组移到新数组。
创建一个数组时,可令其容纳一种特定的类型,也就是说数组用来存放一组数据类型相同的数据。这意味着可进行编译期类型检查,预防自己设置了错误的类型,或者错误指定了准备提取的类型。
无论使用的数组属于什么类型,数组标识符实际都是指向真实对象的一个句柄。那些对象本身是在内存“堆”里创建的。
对象数组容纳的是句柄,而基本数据类型数组容纳的是具体的数值
我们只知道数组对象的大小或容量,不知其实际容纳了多少个元素。
若能创建和访问一个基本数据类型数组,那么比起访问一个封装数据的集合,前者的效率会高出许多。
为容纳一组对象,最适宜的选择应当是数组。而且假如容纳的是一系列
基本数据类型,更是必须采用数组。
--考虑到执行效率和类型检查,应尽可能地采用数组。
--在Java 中,由于对数组和集合都要进行范围检查,所以对性能有一定的影响。
分享到:
相关推荐
很值得一看的书籍,很多人都推荐,适合有一定java基础的人学习提高
Think in java 读书笔记 java教程
王者归来之--Java编程思想读书笔记 Think in java4th
学习 Think In Java 之后的总结,一些学习笔记,提供学习
java 很好的java学习文档,是学习java的入门基础,谢谢你的下载
Python学习笔记--皮大庆,非常适合零基础入门。对应英文版本《How to think like a computer scientist》
1.6.2 抽象的基础类和接口 1.7 对象的创建和存在时间 1.7.1 集合与继承器 1.7.2 单根结构 1.7.3 集合库与方便使用集合 1.7.4 清除时的困境:由谁负责清除? 1.8 违例控制:解决错误 1.9 多线程 1.10 永久性 ...
think in java 第四版 源码以及作业 eclipse版本 包含jar包 可以直接导入eclipse
Think in java 源码构建编译
Think-In-Java-Code Thinking In Java 书中源码以及课后练习代码(从第7章开始随着看书的进度一步步更新) 第七章 复用类 7.1 组合语法 7.2 继承语法 7.2.1 初始化基类 7.3 代理 7.4 结合使用组合和继承 7.4.1 确保...
think in java 源码整理,应该算是比较全面的,有需要的朋友可以下下来看下
经典的think in java4,所有源码,帮你早日攻克java学习的堡垒!!!
JAVA思想中文版,CHM格式.
Think in java 的代码源码,里面很详细的习题详解
java3think in java笔记(111)---打印 (2008-04-24 16:58:28) 标签:杂谈 1 默认情况下,print()方法会调用paint()来完成自己的工作。 2 选择一种字体和大小,决定字符串在页面上存在的位置,并且使用Graphics...
java think in java (英文第四版)至今为止 被认为是java教程之中权威作品之一
这是一本充满智慧的书,与简单的参考书有着截然不同的风格。它现在已成了我进行Java 创作一份主要参考。你的目录做得相当不错,让人一目了然,很快就能找到自己需要的东西。
Think Data Structures in Java 英文azw3 本资源转载自网络,如有侵权,请联系上传者或csdn删除 本资源转载自网络,如有侵权,请联系上传者或csdn删除
Think4V-UtubeDown-setup-3.2.6.exe
抽象的进步 1.2 对象的接口 1.3 实现方案的隐藏 1.4 方案的重复使用 1.5 继承:重新使用接口 1.5.1 改善基础类 1.5.2 等价和类似关系 1.6 多形对象的互换使用 1.6.1 动态绑定 ...1.11 Java和因特网