数组和集合的区别

数组:数组是java语言内置的数据类型,他是一个线性的序列,所有可以快速访问其他的元素,数组和其他语言不同,当你创建了一个数组时,他的容量是不变的,而且在生命周期也是不能改变的,还有JAVA数组会做边界检查,如果发现有越界现象,会报RuntimeException异常错误,所有不用担心和C和C++一样不做边界检查而出现的问题,当然检查边界会以效率为代价,数组和其他容器体现在3个方面:1.效率2.类型识别3.可以持有primitives。

集合: JAVA还提供其他容器,list,map,set,他们处理对象的时候就好像这些对象没有自己的类型一样,而是直接归根于Object,这样只需要创建一个容器,把对象放进去,取出时转换成自己的类型就行了,

ArrayList:JAVA包里有一个java.util.ArrayLisy的类,他包括可以用以static的工具方法,其中最基本的4个方法:1用来比较2个数组是否相等的eques()2用来填充数组的fill()3用来排序数组的sort()4以及用于在一个已经排序的数组中查找元素的binarySearch()。

这些方法都是对primitives和Object进行了重载,此外还有一个asList()方法,它接受一个数组,然后把它转成一个List容器

此为java标准库还提供了一个 System.arraycopy();的静态方法,能够以较快的速度拷贝数组,对primitive和Object进行了重载,要注意的是,当进行Obeject拷贝的时候,进行的是浅拷贝;

区别:

至于效率,数组无疑是高过其他容器的,因为有些容器类的实现就是基于数组的,比如ArrayList,不论是效率还是类型检查,无疑是先考虑数组的,但是数组最大的弱点就是功能太弱小,所有才会有其他容器的出现。

时间: 2024-07-29 22:39:52

数组和集合的区别的相关文章

数组和集合的区别总结

一.数组声明了它容纳的元素的类型,而集合不声明. 二.数组是静态的,一个数组实例具有固定的大小,一旦创建了就无法改变容量了.而集合是可以动态扩展容量,可以根据需要动态改变大小,集合提供更多的成员方法,能满足更多的需求. 三.数组不论是效率还是类型检查都是最好的. 1.数组是大小固定的,一旦创建无法扩容;集合大小不固定, 2.数组的存放的类型只能是一种,集合存放的类型可以不是一种(不加泛型时添加的类型是Object); 3.数组是java语言中内置的数据类型,是线性排列的,执行效率或者类型检查(不

C#语言中数组与集合的区别(以List集合为例)

数组用于保存固定数量的数据,定长,占用内存少,遍历速度快: 集合保存的数据数量,可以在程序的执行过程中,不断发生变化,不定长,占用内存多,遍历速度慢: 在功能上,数组能实现的所有功能,集合都能实现:反之,集合能实现的某些功能,数组难以实现. 下面以List集合为例,具体说明集合与数组的区别: 1.定义的格式 集合:List <数据类型> 变量名; 数组:数据类型 [ ] 变量名; 2.赋值 集合:变量名 = new List <数据类型> ( );  集合是不定长的,所以赋值时无须

数组跟集合的区别

A:长度区别 数组的长度固定,实例化时必须规定数组长度.(不可变) 集合长度可变 B:内容不同 数组存储的是同一类型的元素 集合可以存储不同类型的元素 C:元素的数据类型问题 数组可以存储基本数据类型,也可以存储引用数据类型 集合只能存储引用类型 版权声明:本文为博主原创文章,未经博主允许不得转载.

.NET 基础 一步步 一幕幕[数组、集合、异常捕获]

数组.集合.异常捕获 数组: 一次性存储多个相同类型的变量. 一维数组: 语法: 数组类型[] 数组名=new 数组类型[数组长度]; 声明数组的语法: A.数据类型 [] 数组名称= new 数据类型[2]{1,2}: B.数据类型 [] 数组名称 = new 数据类型[数组大小]; C. 数据类型 [] 数组名称 = {数据,数据,数据,数据}; ***数组的长度一旦固定了,就不能再被改变了 可以通过索引来访问数组中的元素: 数组名称[索引位置] 案例: 多维数组:多个线性数组的值 二维:i

C# Day。8 数组升级集合~~~

今天是第8天,学习的是C#集合,集合共有6大类: 1,普通集合★★ 2,泛型集合★★★ 3,哈希表集合★★★ 4,字典★★ 5,栈桥集合★ 6,Q集合★ 一,数组于集合的区别: 数组:长度固定,类型相同: 集合:不固定类型,不固定长度: 二,如何使用集合 引用命名空间:using System.Collections; 三,集合定义 1,普通集合 代码展示1: 观察这段代码: 1,定义:ArrayList 集合名称 =new ArrayList(); 2,赋值:集合名称.Add(object类型

[.net 面向对象编程基础] (17) 数组与集合

[.net 面向对象编程基础] (17) 数组与集合 学习了前面的C#三大特性,及接口,抽象类这些相对抽象的东西以后,是不是有点很累的感觉.具体的东西总是容易理解,因此我们在介绍前面抽象概念的时候,总是举的是具体的实例以加深理解. 本节内容相当具体,学起来也相当轻松. 1.数组 1.1 什么是数组? 数组是一种数据结构,包含同一个类型的多个元素. 1.2数组的初始化 string[] mystringArray; 类型+方框号 数组名 1.3数组初始化 我们知道数组是引用类型,所以需要给他分配堆

python中列表 元组 字典 集合的区别

列表 元组 字典 集合的区别是python面试中最常见的一个问题.这个问题虽然很基础,但确实能反映出面试者的基础水平. (1)列表 什么是列表呢?我觉得列表就是我们日常生活中经常见到的清单.比如,统计过去一周我们买过的东西,把这些东西列出来,就是清单.由于我们买一种东西可能不止一次,所以清单中是允许有重复项的.如果我们扩大清单的范围,统计我们过去一周所有的花费情况,那么这也是一个清单,但这个清单里会有类别不同的项,比如我们买东西是一种花费,交水电费也是一种花费,这些项的类型是可以使不同的.pyt

普通集合和泛型集合的区别,哈希表和字典表的区别,队列和堆栈的区别以及堆和栈的区别。

普通集合和泛型集合的区别: 泛型集合与传统集合相比 类型更安全. 泛型集合无需装箱拆箱操作. 泛型的重要性. 泛型是未来五年的主流技术 ... 通常情况下,建议您使用泛型集合,因为这样可以获得类型安全的直接优点而不需要从基集合类型派生并实现类型特定的成员.此外,如果集合元素为值类型,泛型集合类型的性能通常优于对应的非泛型集合类型(并优于从非泛型基集合类型派生的类型),因为使用泛型时不必对元素进行装箱. 下面的泛型类型对应于现有的集合类型: List 是对应于 ArrayList 的泛型类. Di

数组和链表的区别以及数组和结构体的区别

1,数组和链表的区别? 链表和数组都叫可以叫做线性表, 数组又叫做顺序表,主要区别在于,顺序表是在内存中开辟一段连续的空间来存储数据,而且必须是相同类型的数据. 而链表是通过存在元素中的指针联系到一起的,每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域,链表既可以靠指针来连接多块不连续的的空间也可以用一段连续的空间, 在逻辑上形成一片连续的空间来存储数据. 两种数据结构各有各的好处,链表方便删除和插入,数组方便排序等. 数组从栈中分配空间, 对于程序员方便快速