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");
    }
  }
}
目录
相关文章
|
1月前
Servlet使用适配器模式进行增删改查案例(IDeptService.java)
Servlet使用适配器模式进行增删改查案例(IDeptService.java)
14 0
|
1月前
Servlet使用适配器模式进行增删改查案例(EmpDaoImpl.java)
Servlet使用适配器模式进行增删改查案例(EmpDaoImpl.java)
13 0
|
5天前
|
存储 Java 程序员
Java 数组
4月更文挑战第16天
|
1月前
Servlet使用适配器模式进行增删改查案例(IEmpService.java)
Servlet使用适配器模式进行增删改查案例(IEmpService.java)
14 0
|
1天前
|
数据采集 前端开发 测试技术
《手把手教你》系列技巧篇(三十一)-java+ selenium自动化测试- Actions的相关操作-番外篇(详解教程)
【4月更文挑战第23天】本文介绍了网页中的滑动验证码的实现原理和自动化测试方法。作者首先提到了网站的反爬虫机制,并表示在本地创建一个没有该机制的网页,然后使用谷歌浏览器进行验证。接着,文章详细讲解了如何使用WebElement的click()方法以及Action类提供的API来模拟鼠标的各种操作,如右击、双击、悬停和拖动。
6 2
|
2天前
|
Web App开发 数据采集 Java
《手把手教你》系列技巧篇(三十)-java+ selenium自动化测试- Actions的相关操作下篇(详解教程)
【4月更文挑战第22天】本文介绍了在测试过程中可能会用到的两个功能:Actions类中的拖拽操作和划取字段操作。拖拽操作包括基本讲解、项目实战、代码设计和参考代码,涉及到鼠标按住元素并将其拖动到另一个元素上或指定位置。划取字段操作则介绍了如何在一段文字中随机选取一部分,包括项目实战、代码设计和参考代码。此外,文章还提到了滑动验证的实现,并提供了相关的代码示例。
27 2
|
25天前
|
存储 Java 关系型数据库
不同主题增删改查系统【控制台+MySQL】(Java课设)
不同主题增删改查系统【控制台+MySQL】(Java课设)
13 0
|
27天前
|
Java
java 8 数组转字符串并以逗号分隔
java 8 数组转字符串并以逗号分隔
11 0
|
1月前
|
Java
【Java】数组中的拷贝方法与初步理解深浅拷贝
【Java】数组中的拷贝方法与初步理解深浅拷贝
13 0
|
1月前
|
存储 Java C语言
【Java】以数组为例简单理解引用类型变量
【Java】以数组为例简单理解引用类型变量
15 1