`

java的各种集合(array,vector==)

    博客分类:
  • java
阅读更多

      array(数组)和Vector是十分相似的Java构件(constructs),两者全然不同,在选择使用时应根据各自的功能来确定。
  1、数组:Java arrays的元素个数不能下标越界,从很大程度上保证了Java程序的安全性,而其他一些语言出现这一问题时常导致灾难性的后果。
   Array可以存放Object和基本数据类型,但创建时必须指定数组的大小,并不能再改变。值得注意的是:当Array中的某一元素存放的是Objrct reference 时,Java不会调用默认的构造函数,而是将其初值设为null,当然这跟Java对各类型数据赋默认值的规则是一样的,对基本数据类型同样适用。
  2、Vector:对比于Array,当更多的元素被加入进来以至超出其容量时,Vector的size会动态增长,而Array容量是定死的。同时,Vector在删除一些元素后,其所有下标大于被删除元素的元素都依次前移,并获得新下标比原来的小了)。注意:当调用Vector的size()方法时,返回Vector中实际元素的个数。
   Vector内部实际是以Array实现的,也通过元素的整数索引来访问元素,但它只能存放java.lang.Object对象,不能用于存放基本类型数据,比如要存放一个整数10,得用new Integer(10)构造出一个Integer包装类对象再放进去。当Vector中的元素个数发生变化时, 其内部的Array必须重新分配并进行拷贝,因此这是一点值得考虑的效率问题。
   Vetor同时也实现了List接口,所以也可以算作Colletion了,只是它还特殊在:Vector is synchronized。即Vetor对象自身实现了同步机制。
  3、ArrayList:实现了List接口,功能与Vetor一样,只是没有同步机制,当然元素的访问方式为从List中继承而来,可存放任何类型的对象。
  4、HashMap:继承了Map接口,实现用Keys来存储和访问Values,Keys和Values都可以为空,它与Hashtable类的区别在于Hashtable类的Keys和values不能为null,并Hashtable类有同步机制控制,而HashMap类没有。
   在Struts类库中实现了一个LableValueBean,用Lable(Key)来存储和访问Value,很方便。

 

原文链接:http://www.wangchao.net.cn/bbsdetail_67752.html

分享到:
评论

相关推荐

    Java实训教程 Java软件开发实战 Java类库 第4章 集合操作 共31页.pptx

    Java集合框架是Java平台的核心组成部分之一,它提供了一套标准的数据结构来存储和操作一组对象。这些数据结构包括列表(List)、集合(Set)、队列(Queue)以及映射(Map)等。集合框架的设计目的是为了提供高效的...

    JAVA集合容器课件

    同时,Java集合框架还提供了Collections类,包含了对集合的各种实用工具方法,如排序、查找、转换等,使得对集合的操作更加便捷。在实际开发中,掌握这些集合类和接口的特性和使用场景至关重要,它们是编写高效、可...

    Java认证考试基础知识辅导Java程序性能优化

    当创建集合类如`Vector`或`Hashtable`时,默认情况下它们的初始容量较小(通常是10)。如果程序中预期会存储大量的元素,那么这种默认的初始容量可能导致频繁地重新分配内存,从而降低性能。因此,根据预期的元素...

    JAVA中的集合和js中集合

    除了接口之外,Java集合框架还提供了一些抽象类,如`AbstractCollection`、`AbstractList`、`AbstractSet`等,它们实现了部分接口的方法,从而简化了具体集合类的实现过程。例如,`ArrayList`继承自`AbstractList`,...

    Java集合框架使用总结

    ### Java集合框架使用总结 #### 前言 本文旨在为读者提供关于Java集合框架的概览性介绍,帮助理解其整体架构与设计理念。对于希望深入掌握特定接口或类使用方法的学习者,建议查阅官方提供的Java API文档。 #### ...

    java程序性能优化

    以上介绍了几种常见的Java程序性能优化技巧,包括避免在循环条件中使用复杂表达式、合理设置集合类的初始大小、在`finally`块中关闭资源、使用`System.arraycopy()`代替循环复制数组以及将简单的getter/setter方法...

    java程序性能优化好文章

    综上所述,Java程序性能优化是一个包含多个方面的话题,包括避免不必要的计算、合理管理集合的初始容量、资源管理、高效的数组操作,以及合理使用Java语言的特性。这些优化技巧可以帮助开发人员写出更加高效和健壮的...

    02-Java集合容器面试题(2020最新版)-重点.pdf

    Java集合容器是Java编程中非常重要的组成部分,掌握其概念、原理以及各种集合类的特点和使用场景对于开发高质量的应用程序至关重要。通过本篇文章的学习,希望读者能够更好地理解和应用Java集合容器,提升编程技能。

    Java程序优化大全

    import java.util.Vector; class CEL { void method(Vector vector) { for (int i = 0; i < vector.size(); i++) { // 违规 // 循环体 } } } ``` **正确做法**: ```java class CEL_fixed { void method...

    Java集合框架面试题

    "Java集合框架面试题" Java 集合框架是 Java 语言中的一组预定义类和接口的集合,用于存储和操作数据。下面是 Java 集合框架的知识点总结: 1. Java 集合类主要有两大分支:Collection 接口和 Map 接口。...

    30个Java经典的集合面试题!.pdf

    Java集合框架的出现解决了原来Java语言中Vector、Stack、HashTable、Array等类的混乱状态,使得Java语言变得更加简洁和高效。 2. Java集合框架的优点 Java集合框架的优点有很多,例如: * 使用核心集合类降低...

    java基础之集合面试题共4页.pdf.zip

    【标题】"Java基础之集合面试题共4页"是一个针对Java编程语言中集合框架的面试题集,主要涵盖了Java集合框架的基础知识和常见问题。集合框架是Java中用于存储和管理对象的重要部分,它包括了接口、类和算法的集合。 ...

    Java集合总览完整版

    本文将对Java集合框架中的核心组件进行详细的概述,包括Array、List、LinkedList、Vector、Queues/Deques等。 首先,Array是Java的基础数据结构,它在已知元素数量时非常实用。Java提供的`java.util.Arrays`类提供...

    Java集合类List-Set-Map的区别和联系.doc

    Array 是 Java 中最基本的集合类,它是固定大小的、线程安全的,可以存储基本类型和对象类型的数据。Arrays 类是 Java 中提供的一个工具类,提供了数组的操作方法,如 equals()、fill()、sort()、binarySearch() 等...

    详解Java中的Vector

    * 使用Collection集合的构造函数:public Vector(Collection<? extends E> c),可以使用Collection集合来初始化Vector。 Vector的扩容机制 Vector的扩容机制是通过ensureCapacity(int minCapacity)方法来实现的。...

    02-Java集合容器面试题-重点.docx

    Java集合容器概述、集合框架、List、Set、Map接口、Iterator、ArrayList、LinkedList、Vector、HashSet、HashMap、Queue、BlockingQueue、ConcurrentHashMap等。 Java 集合容器概述 Java 集合容器是用于存储数据...

    java-Using-Array-for-Queue.zip_java队列实现

    `Vector`是Java集合框架的一部分,它是一个动态数组,自动管理其大小。`Vector`提供了类似于数组的方法,如`add()`(等同于`enqueue`)和`removeFirst()`(移除并返回第一个元素)。使用`Vector`作为队列的优势在于...

Global site tag (gtag.js) - Google Analytics