小菜鸟学Java--如何拿下数组(java数组如何取出元素)
wptr33 2025-07-28 00:36 14 浏览
前面谈及到了引用数据类型,数组就是一种,它还是比较重要的一种,本篇就来详细说说它和向量。
数组
先来说说数组。那么什么是数组呢?它是在数组的基础上的。数组是一种常用的引用数据类型,相同数据类型的元素按照一定的顺序排列就成了数组。
数组的特点有3个:
数组是相同元素的集合。
数组中的元素有先后顺序。
数组元素用数组名和自己的位置来表达自己。例如:a[0]代表第一个元素,a[1]代表第二个元素。
那么数组该如何创建呢?分3步:
1.声明数组。有两种方法:
数组元素类型[] 数组名; //eg: int MyArray[];
数组元素类型 数组名[]; //eg: int[] MyArray;
2.创建数组的空间。
语法格式为:
数组名 = new 数组元素类型[个数];
举个例子:
MyArray=new int[10];
它也可以和声明在一块写,比如:
int MyArray=new int[10];
在创建数组的同时,还可以直接赋初值。例如:
int MyArray[]={1,2,3,4,5,6,7,8,9};
3.创建数组元素并初始化 ( 如果数组元素是基本数据类型,此步骤可省去)
动态初始化:数组定义与分配空间和赋值分开写。
静态初始化:数组定义与分配空间和辅助同时写。
默认初始化:因为数组是引用数据类型,他的元素可以看做成员变量了,所以每个元素也按照成员变量的规则初始化了。
实例代码:
1、动态初始化:
2、静态初始化:
3、默认初始化:
当然,数组也有些注意事项:
下标(代表元素的位置)从0开始,不是从 1开始的,如果数组定义了长度为10,那么下标就是0~9!下标 必须是整型或者可以 转化成整型的量。
所有的数组都有个length,这个属性存储了数组的个数。
java可以自动检查是否有数组下标越界。如果越界,会提示出一个ArrayIndexOutOfException。
向量
数组就说完了,现在来说说向量(Vector)。向量是什么呢?它是类似于数组的数据结构的类。他的特点就是允许不同类型的元素共存。它一般在以下情况中用到:
需要处理不同的对象数目不定。
需要将不同类的对象组合成一个对象。
需要做插入、删除、定位、查找等操作。
在不同的类之间传递大量数据。
创建元素:
在这里介绍2种:
public Vector() //创建对象,初始容量为10个元素。
public Vector(int initCapacity,int capacityIncrement); //第一个实参表示初始容量,第二个表示扩充时,一次扩充多少个
举个例子:
Vector MyVactor=new Vector(20,5);//初始容量为20,一旦用满了就会以5的单位增加。
添加元素:
addElement(Object obj):将新元素添加在向量的尾部
insertElement(Object obj,int index):将新元素添加到指定位置。obj是新元素,index是插入的位置。下面来举个例子:
修改和删除元素:
void setElementAt( Object obj,int index ) //将index处的元素设置成obj,若有元素则被覆盖
boolean removeElement( Object obj ) //删除第一个与obj一样的元素,同时后面的提前位
void removeElementAt( int index ) //删除index处的元素,同时后面的提前补位
void removeALLElement( ) //清除该向量中所有元素
查找元素:
Object elementAt( int index) //返回指定位置处的元素。注意:由于返回的是Object类的对象,在使用之前需要强制类型转换,将返回的对象引用转换成Object类的某个具体子类的对象。
例如下面的序列的第一个元素是第一个字符串:
String str=(String)MyVector.elementAt(0);
boolean contains( Object obj ) //检查向量里有没有obj,有就返回true,否则false。
int indexOf( Object obj, int start_index) //从start_index处开始向后搜索,返回第一个与obj一样的元素的下标,找不到就返回-1
int lastIndexOf(Object obj, int start_index)//从start_index 开始向前搜索,返回第一个第一个与obj一样的元素的下标,找不到就返回-1
总结:
数组和向量的知识就是这些,但是要熟练掌握就必须多加练习。
本文属原创,转载请注明出处,谢谢!
大家如果对编程感兴趣,想了解更多的编程知识,解决编程问题,以及入门指导,我们这里有java高手,C++/C高手,windows/Linux高手,android/ios高手,请大家关注微信公众号:程序员互动联盟或者coder_online
相关推荐
- MySQL进阶五之自动读写分离mysql-proxy
-
自动读写分离目前,大量现网用户的业务场景中存在读多写少、业务负载无法预测等情况,在有大量读请求的应用场景下,单个实例可能无法承受读取压力,甚至会对业务产生影响。为了实现读取能力的弹性扩展,分担数据库压...
- 3分钟短文 | Laravel SQL筛选两个日期之间的记录,怎么写?
-
引言今天说一个细分的需求,在模型中,或者使用laravel提供的EloquentORM功能,构造查询语句时,返回位于两个指定的日期之间的条目。应该怎么写?本文通过几个例子,为大家梳理一下。学习时...
- 一文由浅入深带你完全掌握MySQL的锁机制原理与应用
-
本文将跟大家聊聊InnoDB的锁。本文比较长,包括一条SQL是如何加锁的,一些加锁规则、如何分析和解决死锁问题等内容,建议耐心读完,肯定对大家有帮助的。为什么需要加锁呢?...
- 验证Mysql中联合索引的最左匹配原则
-
后端面试中一定是必问mysql的,在以往的面试中好几个面试官都反馈我Mysql基础不行,今天来着重复习一下自己的弱点知识。在Mysql调优中索引优化又是非常重要的方法,不管公司的大小只要后端项目中用到...
- MySQL索引解析(联合索引/最左前缀/覆盖索引/索引下推)
-
目录1.索引基础...
- 你会看 MySQL 的执行计划(EXPLAIN)吗?
-
SQL执行太慢怎么办?我们通常会使用EXPLAIN命令来查看SQL的执行计划,然后根据执行计划找出问题所在并进行优化。用法简介...
- MySQL 从入门到精通(四)之索引结构
-
索引概述索引(index),是帮助MySQL高效获取数据的数据结构(有序),在数据之外,数据库系统还维护者满足特定查询算法的数据结构,这些数据结构以某种方式引用(指向)数据,这样就可以在这些数据结构...
- mysql总结——面试中最常问到的知识点
-
mysql作为开源数据库中的榜一大哥,一直是面试官们考察的重中之重。今天,我们来总结一下mysql的知识点,供大家复习参照,看完这些知识点,再加上一些边角细节,基本上能够应付大多mysql相关面试了(...
- mysql总结——面试中最常问到的知识点(2)
-
首先我们回顾一下上篇内容,主要复习了索引,事务,锁,以及SQL优化的工具。本篇文章接着写后面的内容。性能优化索引优化,SQL中索引的相关优化主要有以下几个方面:最好是全匹配。如果是联合索引的话,遵循最...
- MySQL基础全知全解!超详细无废话!轻松上手~
-
本期内容提醒:全篇2300+字,篇幅较长,可搭配饭菜一同“食”用,全篇无废话(除了这句),干货满满,可收藏供后期反复观看。注:MySQL中语法不区分大小写,本篇中...
- 深入剖析 MySQL 中的锁机制原理_mysql 锁详解
-
在互联网软件开发领域,MySQL作为一款广泛应用的关系型数据库管理系统,其锁机制在保障数据一致性和实现并发控制方面扮演着举足轻重的角色。对于互联网软件开发人员而言,深入理解MySQL的锁机制原理...
- Java 与 MySQL 性能优化:MySQL分区表设计与性能优化全解析
-
引言在数据库管理领域,随着数据量的不断增长,如何高效地管理和操作数据成为了一个关键问题。MySQL分区表作为一种有效的数据管理技术,能够将大型表划分为多个更小、更易管理的分区,从而提升数据库的性能和可...
- MySQL基础篇:DQL数据查询操作_mysql 查
-
一、基础查询DQL基础查询语法SELECT字段列表FROM表名列表WHERE条件列表GROUPBY分组字段列表HAVING分组后条件列表ORDERBY排序字段列表LIMIT...
- MySql:索引的基本使用_mysql索引的使用和原理
-
一、索引基础概念1.什么是索引?索引是数据库表的特殊数据结构(通常是B+树),用于...
- 一周热门
-
-
C# 13 和 .NET 9 全知道 :13 使用 ASP.NET Core 构建网站 (1)
-
程序员的开源月刊《HelloGitHub》第 71 期
-
详细介绍一下Redis的Watch机制,可以利用Watch机制来做什么?
-
假如有100W个用户抢一张票,除了负载均衡办法,怎么支持高并发?
-
Java面试必考问题:什么是乐观锁与悲观锁
-
如何将AI助手接入微信(打开ai手机助手)
-
SparkSQL——DataFrame的创建与使用
-
redission YYDS spring boot redission 使用
-
一文带你了解Redis与Memcached? redis与memcached的区别
-
如何利用Redis进行事务处理呢? 如何利用redis进行事务处理呢英文
-
- 最近发表
- 标签列表
-
- git pull (33)
- git fetch (35)
- mysql insert (35)
- mysql distinct (37)
- concat_ws (36)
- java continue (36)
- jenkins官网 (37)
- mysql 子查询 (37)
- python元组 (33)
- mybatis 分页 (35)
- vba split (37)
- redis watch (34)
- python list sort (37)
- nvarchar2 (34)
- mysql not null (36)
- hmset (35)
- python telnet (35)
- python readlines() 方法 (36)
- munmap (35)
- docker network create (35)
- redis 集合 (37)
- python sftp (37)
- setpriority (34)
- c语言 switch (34)
- git commit (34)