数组对于每一门编程语言来说都是重要的数据结构之一,当然不同语言对于数组的实现及处理也不尽相同。
  Java语言中提供的数组是用来存储固定大小的同类型元素。如:声明一个数组变量,numbers[100]来代替直接声明100个独立变量number0,number1,...,number99。本文将介绍Java中对于数组的一些简单操作及应用。
  1、数组的扩容

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

  2、数组的查找

 1 /**
 2  * 数组的查找:在给定的数组中查找出指定的元素
 3  * @param arr:要查找的数组
 4  * @param index:要查找的元素
 5  * @return:若找到,则返回数组中元素所在的索引,若没有找到则返回-1
 6  */
 7 public static int searchElement(String[] arr,String str) {
 8     //遍历数组,将数组中的元素与要查找的元素进行一一比对
 9     for(int i=0;i<arr.length;i++) {
10         if(arr[i]==str) {
11             return i;
12         }
13     }
14     return -1;
15 }

  3、元素的插入

 1 /**
 2  * 元素的插入:在给定的数组中的特定位置插入指定的元素
 3  * 注意:在测试此方法前,应先保证数组索引不会出现越界异常,可先调用extendRange(String[] arr)进行数组扩容
 4  * @param arr:给定的数组
 5  * @param index:要插入的元素索引
 6  * @param str:要插入的元素
 7  * @return:返回插入后的数组
 8  */
 9 public static String[] insertElement(String[] arr,int index,String str) {
10     //先找到数组中索引为index的位置
11     int equalsIndex = -1;    //记录数组中索引为index的位置
12     for(int i=0;i<arr.length;i++) {
13         if(i==index) {
14             equalsIndex = i;
15             break;
16         }
17     }
18     //找到了
19     if(equalsIndex!=-1) {
20         //将index索引所在元素及之后的所有元素往后移动一个位置,再在index索引所在位置插入指定元素
21         for(int i=arr.length-2;i>=equalsIndex;i--) {
22             arr[i+1]=arr[i];
23         }
24         arr[equalsIndex]=str;
25     }else {
26         //没有找到
27         System.out.println("对不起,您输入的数组索引不存在!");
28     }
29     return arr;
30 }

  4、元素的修改

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

  5、元素的删除

 1 /**
 2  * 元素的删除:将数组中指定的元素删除
 3  * @param arr:给定的数组
 4  * @param str:要删除的元素
 5  * @return:返回删除后的数组
 6  */
 7 public static String[] deleteElement(String[] arr,String str) {
 8     //调用searchElement(String[] arr,String str)方法查找出要修改的元素所在的索引
 9     int index = searchElement(arr, str);
10     //找到啦
11     if(index!=-1) {
12         //将index所在及以后索引的元素依次前移一位
13         for(int i=index;i<arr.length-1;i++) {
14             arr[i]=arr[i+1];
15         }
16         //将最后一位置为空
17         arr[arr.length-1]=null;
18     }else {
19         //没找到
20         System.out.println("对不起,您删除的元素不存在!");
21     }
22     return arr;
23 }

转载于:https://www.cnblogs.com/wuyongji/p/10539868.html

Java中对数组的操作相关推荐

  1. 四十三、深入Java中的数组流,数据流和对象流操作

    @Author:Runsen @Date:2020/6/8 作者介绍:Runsen目前大三下学期,专业化学工程与工艺,大学沉迷日语,Python, Java和一系列数据分析软件.导致翘课严重,专业排名 ...

  2. c++ java setobjectarrayelement_java中jni的使用:C/C++操作java中的数组

    在Java中数组分为两种: 1.基本类型数组 2.对象类型(Object[])的数组(数组中存放的是指向Java对象中的引用) 一个能通用于两种不同类型数组的函数: GetArrayLength(ja ...

  3. Java中的图像锐化操作

    ** Java中的图像锐化操作 ** 一.该图像锐化的思想: 本文的图像锐化是将图像中的R,G,B的值分别从原图像中提出,然后将分别将这三个R,G,B的值分别与卷积核进行卷积,最终再将最后的三个卷积的 ...

  4. java 静态对象数组_Java静态方法和实例方法 java中的数组作为形参传入

    原标题:Java静态方法和实例方法 java中的数组作为形参传入 Java静态方法和实例方法 java中的数组作为形参传入 Java虚拟机 启动一个Java程序的时候,会诞生一个虚拟机实例,当程序关闭 ...

  5. Java中的数组数据结构需要了解的要点

    首先,数组是Java中的对象.它们不是像int.short或long这样的基本类,也不是具有很多方法的全功能对象,但由于它们是对象,所以它们隐式地扩展了Object,这就是为什么可以使用数组引用(例如 ...

  6. java面试题24 关于Java中的数组,

    java面试题24 关于Java中的数组,下面的一些描述,哪些描述是准确的:(        ) A 数组是一个对象,不同类型的数组具有不同的类 B 数组长度是可以动态调整的 C 数组是一个连续的存储 ...

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

    数组对于每一门编程语言来说都是重要的数据结构之一,当然不同语言对于数组的实现及处理也不尽相同. Java语言中提供的数组是用来存储固定大小的同类型元素.如:声明一个数组变量,numbers[100]来 ...

  8. Java静态方法和实例方法 java中的数组作为形参传入

    Java静态方法和实例方法 java中的数组作为形参传入 Java虚拟机 启动一个Java程序的时候,会诞生一个虚拟机实例,当程序关闭退出时,该实例会消失. 如果一个机器上运行着三个Java程序,即有 ...

  9. java数组删除数组元素_如何在Java中删除数组元素

    java数组删除数组元素 When we create an array in Java, we specify its data type and size. This is used by JVM ...

  10. java javascript数组_浅谈javascript和java中的数组

    javascript中的数组 数组的创建 直接创建方式  var str = ['java', 'js']; 使用new创建方式: var a = new Array(10);  //  定义长度为1 ...

最新文章

  1. HttpInvoker GET/POST方式
  2. 汇编语言(二十一)之数值交换与自增
  3. D3 Handling Events
  4. postgresql数据库导入导出
  5. 自然语言处理相关知识的构成
  6. day6Linux命令-设置别名
  7. 程序员代码面试指南读书笔记1
  8. JavaScript下载本地文件
  9. Windows编程之钩子程序
  10. Pentest Wiki Part2 漏洞评估
  11. 英语教师计算机研修总结,英语教师个人研修总结范文
  12. anmate.css怎么用,animate.css使用方法是什么
  13. 数字图像处理11:阈值分割(基本全局阈值处理,Otsu 的最佳全局阈值,图像平滑改善全局阈值处理,图像分块的可变阈值)
  14. avplayer视频重复循环播放,视频重播
  15. CSDN开发云-优雅使用云容器服务
  16. GET/POST 和TCP/UDP 区别
  17. 梳理一些近期关于编程和其他一些感想
  18. Spring中IOC容器
  19. ADM 使用vm10.15.0虚拟机安装macOS10.14
  20. 上传加载loading

热门文章

  1. 1030: [JSOI2007]文本生成器
  2. unity中连接MySQL数据库的方法封装
  3. Apache Traffic Server服务搭建
  4. Request.getparameternames有什么用
  5. extjs中rowEditing动态编辑
  6. 习题第一章 构造过程抽象
  7. 2018-2019-2 20175223 实验五 《网络编程与安全》实验报告
  8. LOJ#6360. 复燃「恋之埋火」(最小圆覆盖+高斯消元)
  9. 创建第一个Djiago
  10. 数据库链接池c3p0配置踩坑