扩容是元素还是数组_Java中对数组的操作

 数组对于每一门编程语言来说都是重要的数据结构之一,当然不同语言对于数组的实现及处理也不尽相同。

Java语言中提供的数组是用来存储固定大小的同类型元素。如:声明一个数组变量,numbers[100]来代替直接声明100个独立变量number0,number1,...,number99。本文将介绍Java中对于数组的一些简单操作及应用。

1、数组的扩容

/** * 数组的扩容:本质上是先定义一个更大的数组,然后将原数组里面的元素原封不动的拷贝到新数组中 * @param arr:要扩容的数组 * @return:返回扩容后的新数组 */public static String[] extendRange(String[] arr) { //使原数组扩容为原来的2倍 String[] strArr = new String[arr.length*2];  System.arraycopy(arr, 0, strArr, 0, arr.length); return strArr;}

2、数组的查找

/** * 数组的查找:在给定的数组中查找出指定的元素 * @param arr:要查找的数组 * @param index:要查找的元素 * @return:若找到,则返回数组中元素所在的索引,若没有找到则返回-1 */public static int searchElement(String[] arr,String str) { //遍历数组,将数组中的元素与要查找的元素进行一一比对 for(int i=0;i

 3、元素的插入

/** * 元素的插入:在给定的数组中的特定位置插入指定的元素 * 注意:在测试此方法前,应先保证数组索引不会出现越界异常,可先调用extendRange(String[] arr)进行数组扩容 * @param arr:给定的数组 * @param index:要插入的元素索引 * @param str:要插入的元素 * @return:返回插入后的数组 */public static String[] insertElement(String[] arr,int index,String str) { //先找到数组中索引为index的位置 int equalsIndex = -1; //记录数组中索引为index的位置 for(int i=0;i=equalsIndex;i--) { arr[i+1]=arr[i]; } arr[equalsIndex]=str; }else { //没有找到 System.out.println("对不起,您输入的数组索引不存在!"); } return arr;}

 4、元素的修改

/** * 元素的修改:将数组中指定的元素修改为给定的元素 * @param arr:给定的数组 * @param strOld:要修改的元素 * @param strNew:修改后的元素 * @return:返回修改后的数组 */public static String[] modifyElement(String[] arr,String strOld,String strNew) { //调用searchElement(String[] arr,String str)方法查找出要修改的元素所在的索引 int index = searchElement(arr,strOld); //找到啦 if(index!=-1) { arr[index] = strNew; }else { //没找到 System.out.println("对不起,您要修改的元素不存在!"); } return arr;}

5、元素的删除

/** * 元素的删除:将数组中指定的元素删除 * @param arr:给定的数组 * @param str:要删除的元素 * @return:返回删除后的数组 */public static String[] deleteElement(String[] arr,String str) { //调用searchElement(String[] arr,String str)方法查找出要修改的元素所在的索引 int index = searchElement(arr, str); //找到啦 if(index!=-1) { //将index所在及以后索引的元素依次前移一位 for(int i=index;i
8b90183e7d1ce53411496a13a358641c.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/438925.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ABP入门系列(20)——使用后台作业和工作者

1.引言 说到后台作业,你可能条件反射的想到BackgroundWorker,但后台作业并非是后台任务,后台作业用一种队列且持久稳固的方式安排一些待执行后台任务。 为执行长时间运行的任务而用户无需等待,以提高用户体验。为创建可重试且持…

加载中_GIS地图在项目中的加载显示

下面我们就来说说如何在应用程序中加载显示GIS地图,首先我们在SuperMap iDesktop 9D(10i)中编辑好我们需要的地图,如下图所示:如上图所示,这是我编辑好的一幅天河区的地图,下面我就以这幅地图为例来说说如何把这样一幅…

ABP入门系列(21)——切换MySQL数据库

1. 引言 Abp支持MySql已经不是什么新鲜事了,但按照官方文档:Entity Framework - MySql Integration来,你未必能成功切换,本文就记录下切换MySql数据库遇到的一些坑,供后人乘凉! 2. 环境准备 MySql数据库…

ABP开发框架前后端开发系列---(1)框架的总体介绍

ABP是ASP.NET Boilerplate的简称,ABP是一个开源且文档友好的应用程序框架。ABP不仅仅是一个框架,它还提供了一个最徍实践的基于领域驱动设计(DDD)的体系结构模型。学习使用ABP框架也有一段时间了,一直想全面了解下这个框架的整个来龙去脉,并把…

c++ pdflib输出表格_DescrTab2包,输出SCI级别的描述统计表

今天浏览R包,发现一个不错的包——DescrTab2包。看R包介绍,这个包可以绘制出版物质量级别的描述统计表。看起来很不错。下面来学习下。1. R包安装和加载install.packages("DescrTab2") # 安装包library(DescrTab2) # 加载包2. 加载演示数据集l…

服务器怎么控制忽略样式_使用JavaScript来编写你的CSS样式代码——JSS

介绍JSS是CSS的创作工具,它允许你使用JavaScript以声明,无冲突和可重用的方式描述样式。它可以在浏览器,服务器端或在构建时在Node中编译。JSS与框架无关。它由多个包组成:核心部分,插件以及框架集成等。Githubhttps:/…

Java设计模式、框架、架构、平台之间的关系

1、设计模式 为什么要先说设计模式?因为设计模式在这些概念中是最基本的,而且也比较简单。那么什么是设计模式呢?说的直白点,设计模式就是告诉你针对特定问题如何组织类、对象和接口之间的关系,是前人总结的经验。比如我要在代码中实现一个…

如何学习(记住)linux命令(常用选项)

作者:林果皞 链接:https://www.zhihu.com/question/21690166/answer/66721478 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 Unix & Linux 命令行特别之处在于,一些选项的设…

增效工具_【危中寻机】降本增效生存之道 运用IE基础工具提升制造效率

效率提升的利器工业工程IE作为一门学科诞生于美国,却首先在日本得到了最大程度的践行与推广,成为了丰田生产方式TPS及精益制造LP的核心现场IE中的4大核心(工程分析、动作分析、时间分析、布局分析)仍是所有IE的入门工具,被笔者称为“基础IE”…

as将安卓应用打包_Android Studio打包生成apk的方法(超级简单哦)

释放双眼,带上耳机,听听看~!打包文件是需要生成APK文件,其他人可以通过APK安装和使用,一般来说,包是指APK生成的发布版本,下文技术狗小编还介绍了Android Studio 超级简单的打包生成apk的方法&a…

Linux中常用的命令都是哪些单词的缩写

作者:蓬岸 Dr.Quest 链接:https://www.zhihu.com/question/49073893/answer/114986798 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 417个命令缩写:https://www.abbreviations.co…

ubuntu mysql 防火墙_mysql、ubuntu系统防火墙常规操作

mysql、ubuntu系统防火墙常规操作编辑:006 时间:2020-02-11mysql:数据库操作连接数据库:mysql -u username -p创建数据库:create database databasename;删除数据库:drop database databasename;指定数…

如何轻松记忆Linux文件系统层次结构

Linux对于新手来说非常难学。打好基础对于后面深层次的学习非常重要。 对文件系统层次结构要基本的概念。怎么才能理解并且记忆层级结构呢? 方法/步骤 为了帮助记忆,我做了一个比较清晰的图表来协助层次的记忆。 很多目录文件夹的名字长得非常抽象&…

fmc是fpga直接引出来的吗_家长速看!你还在用“不要和陌生人说话”糊弄孩子的安全教育吗?...

在许多幼儿安全教育案例中,我们都会看到这样一个试验:记者假扮人贩子,利用棒棒糖、零食去诱惑幼儿园的孩子。在其中一次试验中,21个孩子有20个中招,直接跟着陌生人走了。这个试验最终引出来的结论就是要教育孩子不要和…

CentOS 7文件系统与日志分析详解

Linux 文件系统 在处理 Linux 系统出现的各种故障时,故障的症状是最易发现的,而导致这一故障的原因才是最终排除故障的关键。熟悉 Linux 系统中常见的日志文件,了解一般故障的分析与解决办法,将有助于管理员快速定位故障点、“对…

oracle同一个示例两个用户的数据同步_分享两个shell脚本--一键统计Oracle数据库用户信息...

概述今天主要分享一下两个shell脚本,主要是为了查看所有数据库用户及其表空间,统计某个指定用户的明细,下面一起来看看吧~数据库连接脚本use script settdb.sh for DB login details registry#!/bin/bashtmp_username$SH_USERNAMEtmp_passwor…

plsql视图添加表字段_教你不到两分钟,快速创建数据透视图

如果说数据透视表给我们提供了灵活、快捷的数据计算工具, 那么数据透视图就是更直观、动态地展现大批量数据的变化规律和趋势。数据透视图作为数据透视表中的重点内容,高阶的内容包括数据透视图的编辑、美化成高大上的数据分析图表。与万能切片器结合使用实现多表甚…

c datatable导入mysql_《项目经验》–简单三层使用DataTable向数据库表批量导入数据—向SqlServer一张表中导入数据 | 学步园...

向数据库的一张表中添加数据,可以采用单个添加,即一条数据、一条数据的添加;也可以采用批量导入,依次将好些条数据写入数据库的一张表中。文本借助实例《添加系列信息》讲解一种向数据库批量导入数据的方法。1.界面设计观看一下添…

项目架构开发:数据访问层之Cache

数据访问层简单介绍 数据访问层,提供整个项目的数据访问与持久化功能。在分层系统中所有有关数据访问、检索、持久化的任务,最终都将在这一层完成。 来看一个比较经典的数据访问层结构图 大概可以看出如下信息 1、有缓存、日志、异常处理、数据CRUD、…

jquery mysql实现加入购物车_jQuery实现加入购物车飞入动画效果

HTML首先载入jQuery库文件和jquery.fly.min.js插件。接着,将商品信息html结构布置好,本例中,我们用四个商品并排布置,每个商品box中包括有商品图片、价格、名称以及加入购物车按钮等信息。¥3499.00LG 49LF5400-CA 49寸…