`
xiaomogui
  • 浏览: 243546 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Think in java4笔记 --- 容器之数组和集合类的区别

 
阅读更多

 数组和其它集合类的区别:
      主要体现在效率类型
      对于Java 来说,为保存和访问一系列对象(实际是对象的句柄)数组,最有效的方法莫过于数组。数组实际代表一个简单的线性序列,数组中的数据在内存中是按顺序存储的。因此它使得元素的访问速度非常快,数组中的元素可以按下标索引来访问。但我们却要为这种速度付出代价:创建一个数组对象时,它的大小是固定的,而且不可在那个数组对象的“存在时间”内发生改变。也就是说不能动态的定义一组数组,可创建特定大小的一个数组,然后假如用光了存储空间,就再创建一个新数组,将所有句柄从旧数组移到新数组。

      创建一个数组时,可令其容纳一种特定的类型,也就是说数组用来存放一组数据类型相同的数据。这意味着可进行编译期类型检查,预防自己设置了错误的类型,或者错误指定了准备提取的类型。

 

      无论使用的数组属于什么类型,数组标识符实际都是指向真实对象的一个句柄。那些对象本身是在内存“堆”里创建的。

      对象数组容纳的是句柄,而基本数据类型数组容纳的是具体的数值

      我们只知道数组对象的大小或容量,不知其实际容纳了多少个元素。

      若能创建和访问一个基本数据类型数组,那么比起访问一个封装数据的集合,前者的效率会高出许多。

      为容纳一组对象,最适宜的选择应当是数组。而且假如容纳的是一系列
基本数据类型,更是必须采用数组。

 

--考虑到执行效率和类型检查,应尽可能地采用数组。

--在Java 中,由于对数组和集合都要进行范围检查,所以对性能有一定的影响。
    
        

分享到:
评论

相关推荐

    Think-in-JAVA-4th-Edition

    ### 《Think-in-JAVA-4th-Edition》核心知识点概览 #### 一、书籍简介 《Thinking in Java》是一本由Bruce Eckel撰写的经典Java编程书籍,被誉为是学习Java的最佳参考资料之一。该书适合具有一定Java基础的学习者...

    Think in java学习笔记

    ### Think in Java 学习笔记知识点总结 #### 第1章:对象导论 - **一切皆为对象**:Java 中的几乎所有事物都是对象,对象通过发送消息的方式进行交互。 - **对象模型**:每个对象都有自己的存储空间,该空间由其他...

    王者归来之Thinking in java读书笔记

    《王者归来之Thinking in Java读书笔记》是对Bruce Eckel的经典之作《Thinking in Java》第四版的深度学习与总结。这本书是Java程序员的必备参考书,它深入浅出地阐述了Java语言的核心概念和技术,旨在帮助读者理解...

    Think In Java 4(完美高清中文版).

    《Think In Java 4》是Java编程领域里一本极具影响力的著作,由资深程序员 Bruce Eckel 编著。这本书以其深入浅出的讲解方式和全面的知识覆盖而闻名,被誉为Java学习者的经典读物。中文版的完美高清版本为国内读者...

    Think In Java 学习笔记

    《Think In Java 学习笔记》 在Java编程语言中,对象是核心概念,它们代表着程序中的实体和行为。对象具有状态、行为和标识,是现实世界概念在软件中的映射。对象的状态由其内部的属性(或称数据成员)表示,行为则...

    java 初学入门--think in java

    4. **集合框架**:Java集合框架包括数组、ArrayList、LinkedList、Set(HashSet、TreeSet)和Map(HashMap、TreeMap)。它们提供了存储和操作对象的容器,是Java程序设计中的重要工具。 5. **输入/输出(I/O)**:...

    Think4V-UtubeDown-setup-3.2.6.exe

    Think4V-UtubeDown-setup-3.2.6.exe

    think in java 练习

    《Think in Java》是 Bruce Eckel 的经典著作,它深入浅出地讲解了Java编程语言的核心概念和技术。这本书强调理解编程思想,而不仅仅是学习语法。练习题是学习过程中的重要部分,它们帮助我们巩固理论知识,提升实际...

    think-in-java

    《Think in Java》是Java编程领域的一本经典著作,由Bruce Eckel撰写,中文版的出现使得更多中国程序员能够深入理解和掌握Java编程语言的核心概念。这本书以其深入浅出的讲解方式,深受程序员们的喜爱,是许多初学者...

    think in java source code

    《Think in Java》是Bruce Eckel的经典编程教材,它深入浅出地讲解了Java语言的基础概念和高级特性。源码整理则为读者提供了实践和学习的机会,帮助理解书中的示例和理论。以下是对《Think in Java》源码中一些重要...

    Think in java读书笔记

    《Think in Java》读书笔记深度解析 一、构建器(Constructor) 构建器是Java中用于初始化新对象的一种特殊方法,其显著特征是没有返回值类型,包括`void`。这一点与普通方法形成鲜明对比,普通方法即便没有实际...

    Think in java 教程

    《Think in Java》是Bruce Eckel的经典编程教程,它深入浅出地介绍了Java语言的核心概念和技术。本教程旨在帮助读者不仅学习Java语法,更理解面向对象编程的思想和原则。通过阅读和实践书中丰富的示例,你可以提升...

    Think in Java3

    《Think in Java 3》是一本深受欢迎的Java编程指南,由Bruce Eckel撰写,它以其详尽的解释和丰富的示例闻名。这本书是许多Java初学者和专业开发者的重要参考资料,旨在帮助读者深入理解Java语言的核心概念和机制。...

    Think in JAVA 编程思想 第四版 清晰扫描版

    4. **数组和集合**:Java的数组是固定大小的,而集合框架提供了动态存储和管理对象的能力,如ArrayList、LinkedList、HashSet、HashMap等。了解它们的特点和应用场景是提高效率的关键。 5. **方法**:方法是代码的...

    Think in java第三版代码

    7. `frogbean`、`c12`、`c02`、`c04`:这些可能是目录或文件,可能分别对应《Think in Java》中的特定章节或案例,例如`frogbean`可能与青蛙类(Frog)相关,而`c02`、`c04`可能代表第2章和第4章的代码。 通过研究...

    thinkJava第三版-中文

    4. **集合框架**:Java集合框架是处理数据结构和算法的重要工具,包括ArrayList、LinkedList、HashMap等容器的使用和原理。 5. **输入/输出流**:Java的I/O流系统用于读写文件、网络通信等,书中有详细的介绍和实例...

    think in java4源代码

    《Think in Java 4》是Java编程领域的一部经典之作,由Bruce Eckel撰写,它以其深入浅出的讲解方式和丰富的示例代码深受程序员喜爱。这个压缩包包含的就是这本书的全部源代码,旨在帮助读者更好地理解和实践书中所...

    think in java 中文doc文档

    对于那些希望将Java作为职业生涯发展的工具的读者来说,《Think in Java 中文文档》不仅是一本自学材料,也非常适合高校和培训机构采用作为教材。本书内容全面,覆盖了Java编程的各个方面,能够帮助读者构建扎实的...

    think in java 4高清免费版

    think in java 4高清免费版think in java 4高清免费版think in java 4高清免费版think in java 4高清免费版

    Think in Java(中文版)-chm格式

    1.6.2 抽象的基础类和接口 1.7 对象的创建和存在时间 1.7.1 集合与继承器 1.7.2 单根结构 1.7.3 集合库与方便使用集合 1.7.4 清除时的困境:由谁负责清除? 1.8 违例控制:解决错误 1.9 多线程 1.10 永久性 ...

Global site tag (gtag.js) - Google Analytics