数组与集合有什么不同之处

article/2025/9/13 22:58:21

这个问题其实就是一个非常基础的面试题,一般面试官想了解你基础知识方面的掌握时,基本都会问这个问题,尤其是一些,计算机学子毕业之后,如果还是想要从事计算机技术相关的行业时,那么在面试的时候就需要做好充足的准备,因为结合自身考虑,大部分刚毕业的计算机专业的同学并没有相关的项目经验。

所以根据一般公司的面试环节,面试官会从:自身基础知识储备、项目经验、工作态度、个人能力等几个大方面入手,那么针对以上这几点,如果投递简历时,公司在审核简历时针对刚毕业的大学生简历,都会提前跟面试官沟通好,这个时候面试官就会直接跳过项目问题,简单直接的主要针对基础知识问题,会问的很多,所以,从事计算机行业,如果不想被淘汰,你就需要每天不断学习增加知识储备量。那么做好心理建设的朋友我们就继续来了解这个java基础知识点吧,从这一刻开始,每天储备一点基础知识,滴水也可汇成汪洋,毕竟积少成多嘛!

那么针对数组和集合的区别,我们就先来简单的唠唠区别吧!

首先我们需要明确:什么是数组?

数组(Array):用来有序排列同类数据元素的集合被称为数组(数组是一个可以存储一组或一系列相关数据的容器),数组中的每个元素都具有相同的数据类型,,在计算机语言中,数组是非常重要的集合类型,数组的三个基本特征表现在:一致性(像数组它只能保存相同数据数据类型的元素,可以是任何相同的数据类型)、有序性(数组中的元素都是有序的,主要通过下标进行访问)、不可变性(数组一旦开始初始化,则数组的长度是不可变的)。数组有两种创建方式:动态初始化(指定长度),静态初始化(指定内容)。

总体来说数组主要的特点就是:

1.长度是确定的,数组一旦被创建,它的大小就是不可变的

2.数组中的元素类型必须是相同类型,不允许出现混合类型

3.数组既可以存储基本数据类型,又可以存储引用数据类型(基本数据类型存储的是值, 引用数据类型存储的是地址值)

4.数组变量属于引用类型,数组也是对象,数组中的元素相当于对象的属性

5.数组由索引(索引的作用是方便查找元素,索引从0开始到数组的长度-1结束)和数组元素组成

6.通常使用for循环来实现对数组的遍历

好嘞!朋友们,以上就是针对于数组的大致简说,接下来我们要来说说集合了,了解完数组,再了解完,想必大家就可以对数组和集合的区别做出结论啦!

请问什么是集合呢?上次已经给大家做过关于集合问题的回答了,大家也可以参考参考哦!那么既然已经详细讲解了,下面我就只做简述喽!

其实在学习java的过程中亦或者是工作中,我们始终都是在跟数据打交道,比如怎么把这个数据传输下去,又怎么接收这个数据呢,这个数据如何保存呢?这些都是大家在处理数据时最基础的问题了,特别像我们切菜的时候,我们要找碟子或者碗将切好的菜存放起来,而在日常生活中,像这类用作储存的容器特别多,像碗啊、碟子啊、食品包装袋啊、纸箱子等。甚至我们居住的房子也是一个大号的容器啊,他们都有一个统一的特点,那就是“能装”,不同的就是他们的容纳量不同,他们有各式各样的样子,随着生活的不断提高,这些容器的样子也是越来越好看,这些容器不仅让我们的生活井井有条起来,也提高了我们的生活质量。

同样的,在java中也存在各种各样的“容器”,我们把java中所有“容器”的总称,称为集合。

 就像图片中显示的就是集合中的容器,它们存储数据的形式也是各不相同的,简单来说,集合就是一个放数据容器,它主要包括Collection和Map集合,集合只能存放对象,Java集合类存放于java.util包中,Java中每一种基本数据类型都有对应的引用类型。例如在集合中存储一个int型数据时,要先自动转换成Integer类后再存入。

那么针对单列集合Conllection和双列集合Map它们各自又有什么不同的特点呢?大家可以参考之前的回答(比较详细),这里给大家简单总结,大家简单看看:

综合以上对集合的了解大家现在也能总结出来数组和集合到底有什么区别了吧!

1.数组是静态的,有固定大小,且创建之后无法改变;而集合是可以动态扩容的,可以根据需要动态改变大小。如果要存储基本数据类型,并且也有固定的个数,如果元素个数是固定的,推荐用数组如果元素个数不是固定的, 推荐用集合,因为数组的长度是固定的(数组是静态的,一个数组实例具有固定大小,一旦创建,无法改变),集合长度是可以改变的(根据需要动态改变大小,而且集合提供了更多的成员方法,可以满足更多的需求),简单来说,元素个数固定,推荐使用数组,若元素个数不固定,推荐使用集合。

2.数组既可以存储基本数据类型,又可以存储引用数据类型(基本数据类型存储的是值, 引用数据类型存储的是地址值);集合只能存储引用数据类型(也就是对象), 集合中也可以存储基本数据类型,但是在存储的时候会自动装箱(JDK1.5新特性)变成对象。

3.数组和集合都是java中的容器,但是数组声明了它容纳的元素类型,而集合不声明。

4.数组是java语言内置的数据类型,是线性排列的数组,所以可以快速访问元素,正因为数组有这样的优点,大家可以看到很多集合的底层结构就是数组。

5.使用场景不同,数组一般使用在数据长度固定的情况,并且主要进行的是数据的查找操作。而集合一般是用在需要同时存储具有一对一关系的数据,也就是保存键值对数据的情况下,都是使用集合,并且在处理数据重复问题的时候就可以直接使用Set集合解决这个问题(Set集合的特点是元素唯一,且不可重复)。

6.我们在定义数组的时候必须指定数组元素的类型,但是集合如果不定义的话就默认所有的元素都是Object(Object类是所有类的父类)。

7.我们无法直接获取数组中实际存储的元素个数,使用length()也只能获取数组的长度,但是集合可以直接用size()直接获取集合中实际存储的元素个数。

8.集合有多种实现方式和不同的适用场合,比如:List、Set、Map等,但是数组只采用分配连续的空间方式。而且集合以接口和类的形式存在,具有封装、继承、多态等关于类的特点,所以通过方法和属性的调用就可以实现一些各种复杂的操作,这样可以有效的提高软件的开发效率。

好啦,以上就是针对这个问题的一些介绍,分开做了介绍,也给大家做了总结,大家可以参考利用哦,也祝各位准备面试的宝子们,年后面试顺利!


http://chatgpt.dhexx.cn/article/4emrj8TK.shtml

相关文章

kotlin数组和集合

一、Kotlin数组 1.对象数组 由Kotlin的main函数的写法&#xff0c;可以看出Kotlin中的对象数组写法与泛型的写法很像。 fun main(args: Array<String>){ } 声明对象数组的三种形式&#xff1a; (1)使用arrayOf函数和指定的数组元素创建数组 //Java写法: String[] p…

Java--数组和集合区别

一、数组 1、Java语言中的数组是一种引用数据类型&#xff1b;不属于基本数据类型 2、数组当中既可以存储“基本数据类型”的数据&#xff0c;也可以存储“引用数据类型”的数据&#xff08;数组既可以存储基本数据类型&#xff0c;又可以存储引用数据类型&#xff0c;基本数…

数组和集合的区别

一、数组声明了它容纳的元素的类型&#xff0c;而集合不声明。 二、数组是静态的&#xff0c;一个数组实例具有固定的大小&#xff0c;一旦创建了就无法改变容量了。而集合是可以动态扩展容量&#xff0c;可以根据需要动态改变大小&#xff0c;集合提供更多的成员方法&#xff…

数组和集合区别

一、数组声明了它容纳的元素的类型&#xff0c;而集合不声明。 二、数组是静态的&#xff0c;一个数组实例具有固定的大小&#xff0c;一旦创建了就无法改变容量了。而集合是可以动态扩展容量&#xff0c;可以根据需要动态改变大小&#xff0c;集合提供更多的成员方法&#xff…

Intellij idea 的tomcat原理讲解

作者: 陈宇超          纪念卓越班的日子 初次用idea的小白可能会很感到很神奇&#xff0c;intellij idea部署web项目在浏览器不需要输入项目名就可以直接访问&#xff0c;很是方便啊。那么 intellij 是如何实现这一功能的呢&#xff1f;在了解其原理之前需要掌握一定的…

Tomcat运行原理

Tomcat服务器本质 Tomcat是运行在JVM中的一个进程。通过处理scoket通信 (Socket) 来运行。Web项目的本质&#xff0c;是一大堆的资源文件和方法。Web项目没有入口方法(main方法)&#xff0c;意味着Web项目中的方法不会自动运行起来。Web项目部署进Tomcat的webapp中&#xff0c…

tomcat原理简要分析,java

tomcat原理 tomcat位置 tomcat实际上是部署在服务器上的&#xff1b; tomcat作用 tomcat服务器是一个Servlet和JSP容器&#xff0c;它响应HTML页面的访问请求。 实际上Tomcat是Apache 服务器的扩展&#xff0c;但运行时它是独立运行的&#xff0c;所以当你运行tomcat 时&#…

谈谈TOMCAT原理和机制

从服务器说起&#xff0c;一台装了操作系统&#xff08;linux、unix、win等等&#xff09;的物理机或者虚拟机不能称之为真正的服务器&#xff0c;因为服务器是能对外界提供服务的计算机&#xff0c;要能成为服务器必须借助其他软件的支持比如:tocmat、apache、IIS、nginx、jet…

Tomcat工作原理

本文以 Tomcat 5 为基础&#xff0c;也兼顾最新的 Tomcat 6 和 Tomcat 4。Tomcat 的基本设计思路和架构是具有一定连续性的。 Tomcat 总体结构 Tomcat 的结构很复杂&#xff0c;但是 Tomcat 也非常的模块化&#xff0c;找到了 Tomcat 最核心的模块&#xff0c;您就抓住了 Tom…

tomcat启动原理

前言 一直在用Tomcat&#xff0c;但是对其启动原理一直没去研究&#xff0c;这里准备去面试&#xff0c;可能会问道。于是总结了下启动原理。完全凭感觉去揣测&#xff0c;没工夫看源码。因此错误之处希望大家批评指正&#xff0c;大家共同进步。我想这也是在忙碌中进步最快的…

深入剖析Tomcat原理

深入剖析Tomcat原理 一、 Tomcat源码部署和运行&#xff08;intellij IDEA&#xff09; 1、下载tomcat源码&#xff0c;以tomcat-8为例 链接: https://tomcat.apache.org/ 2、源码部署到IDEA中 ①创建新的空工程 ②解压源码压缩包到该工程的目录&#xff08;目录名最好是非…

Springboot内置Tomcat原理

SpringBoot的启动主要是通过实例化SpringApplication来启动的&#xff0c;启动过程主要做了以下几件事情&#xff1a;配置属性、获取监听器&#xff0c;发布应用开始启动事件初、始化输入参数、配置环境&#xff0c;输出banner、创建上下文、预处理上下文、刷新上下文、再刷新上…

【springboot】自动整合Tomcat原理

通过前面我们会SpringBoot的自动配置机制、Starter机制、启动过程的底层分析&#xff0c;我们拿一个实际的业务案例来串讲一下&#xff0c;那就是SpringBoot和Tomcat的整合。 我们知道&#xff0c;只要我们的项目添加的starter为&#xff1a;spring-boot-starter-web&#xff…

总结:SpringBoot内嵌Tomcat原理

一、介绍 一般我们启动web服务都需要单独的去安装tomcat&#xff0c;而Springboot自身却直接整合了Tomcat&#xff0c;什么原理呢&#xff1f; 二、原理 SpringBoot应用只需要引入spring-boot-starter-web中这个依赖&#xff0c;应用程序就默认引入了tomcat依赖&#xff0c;其…

Tomcat的架构原理

一、前言 Tomcat服务器是一个开源的轻量级Web应用服务器&#xff0c;在中小型系统和并发量小的场合下被普遍使用&#xff0c;是开发和调试Servlet、JSP程序的首选。同时它是运行在JVM中的一个进程&#xff0c;包含Web容器&#xff0c;相当于是Web容器和JVM之间的中间件。 二、…

浅析tomcat原理

浅析tomcat原理 上上个星期&#xff0c;看了一下how tomcat works这本书&#xff0c;今天捡起来看一会&#xff0c;发现忘得有点快&#xff0c;特地写点东西&#xff0c;加深一下记忆。因为书讲的是tomcat4&#xff0c;5的内容&#xff0c;比较旧了&#xff0c;所以和最新的to…

Tomcat底层原理

一、Tomcat启动时到底对我们的应用程序做了什么&#xff1f; 当我们把一个应用程序的war包放到Tomcat的webapps目录后&#xff0c;启动Tomcat&#xff0c;然后就可以通过浏览器发送Http请求访问该war包内的Servlet了。 这个过程包括&#xff1a; 1、启动Tomcat 2、Tomcat处理H…

tomcat的工作原理以及简介

Tomcat简介 Tomcat是一个JSP/Servlet容器。其作为Servlet容器&#xff0c;有三种工作模式&#xff1a;独立的Servlet容器、进程内的Servlet容器和进程外的Servlet容器&#xff0c; 1.Tomcat是运行在JVM中的一个进程。它定义为【中间件】&#xff0c;顾名思义&#xff0c;是一个…

tomcat组成及工作原理

1 - Tomcat Server的组成部分 1.1 - Server A Server element represents the entire Catalina servlet container. (Singleton) 1.2 - Service A Service element represents the combination of one or more Connector components that share a single Engine Servic…

Tomcat工作原理介绍

Web应用程序都是靠Web服务器运行的&#xff0c;Tomcat是常用的Web服务器(兼具Servlet容器HTTP服务器功能)之一&#xff0c;此篇博客将从工作原理上来认识Tomcat。Tomcat作为Web服务器需要处理两类核心任务&#xff1a;处理 Socket 连接&#xff0c;负责网络字节流与Request和Re…