java数组的增删改查CURD操作

简介: java数组的增删改查CURD操作

今天被一个同学问到这个对数组的增删改查问题,顺便就整理一下吧:

我是定义了四个函数,用到那个分别调动哪个就可以:

下面代码已经加了详细注释:

import java.util.Scanner;
class curd{
  //实现数组的增删改查
  public static void main(String[] args) {
    int[] a = {1,3,5,9,7,11,52,6,13,19};
    System.out.print("原数组为:");
    for (int i=0;i<a.length; i++) {
      System.out.print(a[i]+"\t");
    }
    System.out.println();
    //调用修改函数
    //mod(a);
    //调用查找元素
    //find(a);
    //调用插入函数
    ins(a);
    //调用删除函数  
    //del(a);
  }
  //修改数组中一个元素的值:
  public static void mod(int[] a){
    Scanner sc = new Scanner(System.in);
    System.out.println("请输入一个要修改的数的位数:");
    int n = sc.nextInt();
    System.out.println("请输入要修改为:");
    int s = sc.nextInt();
    //先找出位置,再修改
    for (int i=0;i<a.length ;i++ ) {
      if (n-1==i) {
        a[i]=s;
      }
    }
    System.out.print("修改后数组为:");
    for (int i=0;i<a.length; i++) {
      System.out.print(a[i]+"\t");
    }
  }
  //查找数组中元素的下标
  public static void find(int[] a){
    Scanner sc = new Scanner(System.in);
    System.out.println("请输入一个要查找的数:");
    int n=sc.nextInt();
    int s=0;
    for (int i=0;i<a.length;i++ ) {
      if (a[i]==n) {
        System.out.println("该数下标为:"+i);
        //return;
        s++;
      }
    }
    if(s==0){
      System.out.println("您查找的元素不存在!");
    }
  }
  //在数组中增加一个元素
  public static void ins(int[] a){
    Scanner sc = new Scanner(System.in);
    System.out.println("请输入一个要插入的数的地址:");
    int n = sc.nextInt();
    System.out.println("请输入一个要插入的数:");
    int s = sc.nextInt();
    int b[] = new int[a.length+1];
    //先扩容
    for (int i=0;i<a.length ;i++ ) {
      b[i]=a[i];
    }
    //插入位置之后的元素后移1位;
    for (int j=b.length-1;j>n ;j-- ) {
          b[j]=b[j-1];
    }
    //将要插入的位置之后的元素后移一位;
    for (int i=0;i<b.length ;i++ ) {
      //如果找到插入地址,原元素后移1位,插入元素放到插入地址上;
      if (n==i) {
        b[i+1]=b[i];
        b[i]=s;
      }
    }
    System.out.print("新增后数组为:");
    for (int i=0;i<b.length; i++) {
      System.out.print(b[i]+"\t");
    }
  }
  //删除函数
  //先查找要删除的数在不在数组中,如果在,将要删除的数改为0
  //然后再把后面的元素前移一位;
  public static void del(int[] a){
    Scanner sc = new Scanner(System.in);
    System.out.println("请输入一个要删除的数:");
    int n = sc.nextInt();
    //定义一个布尔常量
    boolean s = false;
    //循环查找要删除的数
    for (int i=0;i<a.length ;i++ ) {
      //查找要删除的元素
      if (a[i]==n) {
        //如果找到此元素,把s改为true;
        s=true;
        //将要删除的值设为0
        a[i]=0;
        //从右向左移位
        for (int j=i;j<a.length-1 ;j++ ) {
          a[j]=a[j+1];
        }
        //最后一位设为0
        a[a.length-1]=0;
      }
    }
    System.out.println("删除成功!删除后的数组元素为:");
    if (s==false) {
      System.out.println("数据找不到删除失败!");
    }
    //再次循环查看数组是否删除成功
    for (int i=0;i<a.length ;i++ ) {
      System.out.print(a[i]+"\t");
    }
  }
}
目录
相关文章
|
25天前
|
存储 缓存 算法
Java 数组
【10月更文挑战第19天】Java 数组是一种非常实用的数据结构,它为我们提供了一种简单而有效的方式来存储和管理数据。通过合理地使用数组,我们能够提高程序的运行效率和代码的可读性。更加深入地了解和掌握 Java 数组的特性和应用,为我们的编程之旅增添更多的精彩。
31 4
|
25天前
|
存储 缓存 算法
提高 Java 数组性能的方法
【10月更文挑战第19天】深入探讨了提高 Java 数组性能的多种方法。通过合理运用这些策略,我们可以在处理数组时获得更好的性能表现,提升程序的运行效率。
22 2
|
1月前
|
存储 Java
Java“(array) <X> Not Initialized” (数组未初始化)错误解决
在Java中,遇到“(array) &lt;X&gt; Not Initialized”(数组未初始化)错误时,表示数组变量已被声明但尚未初始化。解决方法是在使用数组之前,通过指定数组的大小和类型来初始化数组,例如:`int[] arr = new int[5];` 或 `String[] strArr = new String[10];`。
|
1月前
|
存储 Java
什么是带有示例的 Java 中的交错数组?
什么是带有示例的 Java 中的交错数组?
43 9
|
1月前
|
Java
Java数组动态扩容和动态缩减
Java数组动态扩容和动态缩减
22 3
|
1月前
|
存储 算法 Java
Java一分钟之-数组的创建与遍历
数组作为Java中存储和操作一组相同类型数据的基本结构,其创建和遍历是编程基础中的基础。通过不同的创建方式,可以根据实际需求灵活地初始化数组。而选择合适的遍历方法,则可以提高代码的可读性和效率。掌握这些基本技能,对于深入学习Java乃至其他编程语言的数据结构和算法都是至关重要的。
26 6
|
1月前
|
存储 Java 程序员
【一步一步了解Java系列】:何为数组,何为引用类型
【一步一步了解Java系列】:何为数组,何为引用类型
23 1
|
1月前
|
分布式计算 Java 大数据
大数据-147 Apache Kudu 常用 Java API 增删改查
大数据-147 Apache Kudu 常用 Java API 增删改查
28 1
|
1月前
|
存储 XML Java
如何在 Java 中将常见文档转换为 PNG 图像数组
如何在 Java 中将常见文档转换为 PNG 图像数组
14 1
|
1月前
|
存储 算法 Java
带你学习java的数组军队列
带你学习java的数组军队列
35 0