iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >java简单实现数组的增删改查方法
  • 604
分享到

java简单实现数组的增删改查方法

2024-04-02 19:04:59 604人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

目录1.一维数组​2.数组的扩容3.数组的复制1.直接将数组赋值给新数组2.创建一个新的数组,再将原数组的数据逐个赋值4.数组的删除5.数组的排序6.数组的查找1.顺序查

1.一维数组​

概念:一组数据的容器(数组可以存放多个数据)

​ 注意:

​ 1.数组是引用数据类型

​ 2.数组中的数据又叫做元素

​ 3.每个元素都有编号叫做下标/索引

​ 4.下标从0开始

​ 5.数组初始化后,会在内存中开辟一连串连续的空间

​ 6.数组一旦初始化后长度不可以改变(数组没有扩容和删除)

​ 7.数组的操作:添加、修改、查询​

​ 数组的声明:数据类型[] 数组名;​

数组的初始化:

​ 静态初始化:数据由程序员指定,长度由系统分配


public static void main(String[] args){
		//静态初始化1
		//String[] names = new String[]{"小明","小红","铁蛋","二狗","大傻子"};
		//静态初始化2
		//String[] names;
		//names = new String[]{"小明","小红","铁蛋","二狗","大傻子"};
		//静态初始化3
		String[] names = {"小明","小红","铁蛋","二狗","大傻子"};
		//设置指定下标上的元素
		names[3] = "大狗";
		//获取指定下标上的元素
		String n = names[3];
		System.out.println("获取指定下标上的元素:" + n);//林成
		//ArrayIndexOutOfBoundsException - 数组下标越界异常
		//System.out.println(names[100]);
		//获取元素个数
		int len = names.length;
		System.out.println("获取元素个数:" + len);//5
		System.out.println("-----------");
		//遍历 - for循环
		for(int i = 0;i<names.length;i++){
			System.out.println(names[i]);
		}
		System.out.println("-----------");
		//遍历 - foreach(增强for循环)
		for(String str:names){//遍历数组,依次把元素赋值给str
			System.out.println(str);
		}
		
	}

动态初始化:长度由程序员指定,数据由系统分配(默认值)

​ 整数类型:0

​ 浮点类型:0.0

​ 字符类型:' '

​ 布尔类型:false

​ 引用类型:null(空)


public static void main(String[] args){
		//动态初始化1
		String[] names = new String[5];//5->5个长度
		//设置指定下标上的元素
		names[0] = "小明";
		names[1] = "铁蛋";
		names[2] = "二狗";
		//获取指定下标上的元素
		String n = names[2];
		System.out.println("获取指定下标上的元素:" + n);//二狗
		//ArrayIndexOutOfBoundsException - 数组下标越界异常
		//System.out.println(names[100]);
		//获取元素个数
		int len = names.length;
		System.out.println("获取元素个数:" + len);//5
		System.out.println("-----------");
		//遍历 - for循环
		for(int i = 0;i<names.length;i++){
			System.out.println(names[i]);
		}
		System.out.println("-----------");
		//遍历 - foreach(增强for循环)
		for(String str:names){//遍历数组,依次把元素赋值给str
			System.out.println(str);
		}
		

2.数组的扩容

前面讲到数组一旦初始化后长度不可以改变(数组没有扩容和删除),那我们如何在原来的数组上添加数据。数组没有扩容,但是可以将数组中的数据从小的容器放到大的容器里。


public static void main(String[] args){
		//源数组
		String[] names = {"小明","小红","铁蛋","二狗"};
		//新数组
		//(names.length>>1在此次可以理解为(names.length/2)
		int capacity = names.length + (names.length>>1);//新容量:是源数组长度的1.5倍
		String[] newNames = new String[capacity];
		//把源数组所有的数据迁移到新数组中
		for(int i = 0;i<names.length;i++){
			newNames[i] = names[i];
		}
		//将新数组的地址赋值给源数组
		names = newNames;
		//遍历源数组
		for(String name:names){
			System.out.println(name);
		}
	}

小明小红铁蛋二狗 null null

3.数组的复制

1.直接将数组赋值给新数组

String[] names = {“小明”,“小红”,“铁蛋”,“二狗”};

String[] newNames = names;

这样做会有一个小缺陷,修改源数组,新数组的数据也随之改变.这是因为赋值号所给到的不是原数组的数据,而是原数组的地址。


public class Test111 {
	public static void main(String[] args){
	    //源数组
	    String[] names = {"小明","小红","铁蛋","二狗"};
	    //新数组
	    String[] newNames = names;
	    //遍历新数组
	    System.out.print("修改原数据前:");
	    for(String name : newNames){
	        System.out.print(name+"\t");
	    }
	    System.out.println();
	    //修改源数组
	    names[0] = "大傻子";
	    //遍历新数组
	    System.out.print("修改原数据后:");
	    for(String name : newNames){
	        System.out.print(name+"\t");
	    }
	    System.out.println();
	}
}

修改原数据前:小明 小红 铁蛋 二狗 修改原数据后:大傻子 小红 铁蛋 二狗

2.创建一个新的数组,再将原数组的数据逐个赋值


public static void main(String[] args){
		//源数组
		String[] names = {"小明","小红","铁蛋","二狗"};
		//新数组
		String[] newNames = new String[names.length];
		//将源数组中数据依次赋值给新数组
		for(int i = 0;i<names.length;i++){
			newNames[i] = names[i];
		}
		//修改源数组
		names[0] = "大聪明";
		//遍历新数组
		for(String name : newNames){
			System.out.println(name);
		}
	}

小明 小红 铁蛋 二狗

4.数组的删除

1.新建一个小容量的数组,然后将不删除的数据导入。排除了需要删除的数据

缺点:数组原本是存放数据的,删除元素后,数组长度变短


public static void main(String[] args){
		//源数组
		String[] names = {"小明","小红","铁蛋","二狗"};
		//新数组
		String[] newNames = new String[names.length-1];
		//将源数组的数据迁移到新数组中,要删除的元素(深田咏美)除外
		int index = 0;//新数组的下标
		for(String name:names){
			if(!name.equals("小红")){
				newNames[index] = name;
				index++;
			}
		}
		//将新数组的地址赋值给源数组
		names = newNames;
		//遍历源数组
		for(String name:names){
			System.out.println(name);
		}
	}

小明 铁蛋 二狗

2.将需要删除的数据后面的数据整体向前移,覆盖掉删除的数据,这样就可以留出空间了

public static void main(String[] args){
		//源数组
		String[] names = {"小明","小红","铁蛋","二狗"};
		//数据的迁移
		for(int i = 1;i<names.length-1;i++){
			names[i] = names[i+1];
		}
		names[names.length-1] = null;
		//遍历源数组
		for(String name:names){
			System.out.println(name);
		}
	}

小明铁蛋二狗 null

5.数组的排序

数组的排序方法有很多种,今天就分享比较简单的冒泡排序

​ 口诀:

​ N个数字来排序

​ 两两相比小靠前

​ 外层循环N-1

​ 内层循环N-1-i


public static void main(String[] args){
		int[] is = {39,77,27,20,45,62};
		for(int i = 0;i<is.length-1;i++){
			for(int j = 0;j<is.length-1-i;j++){
				if(is[j] > is[j+1]){
					int temp = is[j];
					is[j] = is[j+1];
					is[j+1] = temp;
				}
			}
		}
		for(int num : is){
			System.out.println(num);
		}
	}

这里分享一个Arrays工具类,导入Arrays包后可直接调用里面的排序方法sort


public static void main(String[] args){
	import java.util.Arrays;
    int[] a={1,5,8,6};
    for(int num : a){
		System.out.println(num);
	}
}

1 5 6 8

6.数组的查找

1.顺序查找:从头到尾遍历(简单除暴,效率相对较低)


for(int i = 0;i<is.length;i++){
			if(is[i] == num){
				System.out.println("查找到了");
			}
		}

2.二分法查找

​ 前提:先排序(效率高于顺序查找)

​ 排序时就可以使用Arrays.sort(is);

**二分法查找适用于数据量较大时,但是数据需要先排好顺序。


public static void main(String[] args){
		int[] is = {39,77,27,20,45,62};
		int num = 77;
		//排序
		Arrays.sort(is);
		int start = 0;
		int end = is.length-1;
		while(start <= end){
			int mid = (start+end)/2;
			if(num >is[mid]){
				start = mid+1;
			}else if(num < is[mid]){
				end = mid-1;
			}else{
				System.out.println("查找到了");
				break;
			}
		}
	}

总结

本篇文章就到这里了,希望能给你带来帮助,也希望您能够多多关注编程网的更多内容!

--结束END--

本文标题: java简单实现数组的增删改查方法

本文链接: https://www.lsjlt.com/news/131536.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • java简单实现数组的增删改查方法
    目录1.一维数组​2.数组的扩容3.数组的复制1.直接将数组赋值给新数组2.创建一个新的数组,再将原数组的数据逐个赋值4.数组的删除5.数组的排序6.数组的查找1.顺序查...
    99+
    2022-11-12
  • Java实现单链表增删改查的操作方法
    这篇文章主要介绍了Java实现单链表增删改查的操作方法,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一、新建学生节点类Stu_Node节点包含:学号:int num;姓名:S...
    99+
    2023-06-14
  • MybatisPlus实现简单增删改查功能
    实现步骤: 工具:IDEA 数据库版本:mysql5.7 一、环境搭建 1.创建springboot项目 pom.xml 2.pom.xml : spring web、lombo...
    99+
    2022-11-12
  • PyMySQL实现增删查改的简单使用
    我们在使用MySQL的时候,可以在MySQL的客户终端来操作数据库中的表,同时,也可以使用navicat等可视化的工具来操作数据表。但是,这只是操作个别数据,如果我们想要插入10万条...
    99+
    2022-11-12
  • java怎么实现数组的增删改查
    本篇内容主要讲解“java怎么实现数组的增删改查”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“java怎么实现数组的增删改查”吧!目录一维数组数组的扩容数组的复制直接将数组赋值给新数组创建一个新...
    99+
    2023-06-20
  • SpringBoot整合Mybatis简单实现增删改查
    目录前言第一:创建MySQL数据库第二:创建SpringBoot项目,引入需要的依赖包第三:创建程序目录和配置核心application.xml文件第四:依次编写Entity、Dao...
    99+
    2022-11-13
  • Android数据库(SQLite)的简单使用——增、删、查改功能的简单实现
    记录一下Android数据库的增删查改的简单使用 话不多说,先献上你们最爱的效果图~ 这边我用的是一个ListView来展示数据库里的数据 准...
    99+
    2022-06-06
    android数据库 SQLite Android
  • Java如何实现单链表的增删改查
    一、新建学生节点类 Stu_Node节点包含: 学号:int num; 姓名:String name; 性别:String gender; 下一个节点:Stu_Node next;...
    99+
    2022-11-12
  • php mongodb实现增删改查的方法
    本篇内容主要讲解“php mongodb实现增删改查的方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“php mongodb实现增删改查的方法”吧!php mongodb实现增删改查的方法:1...
    99+
    2023-06-07
  • SpringBoot整合MyBatis实现增删改查(简单,详细)
    新建springboot工程 若选择https://start.spring.io下一步失败 则选择Custom,输入:https://start.aliyun.com后下一步 添加需要的依赖 添加其他依赖,全部依赖如下: ...
    99+
    2023-08-19
    mybatis spring boot 数据库 mysql
  • PHP、MYSQLI实现简单的增、删、改、查功能(初学者)
    <title>index.php</title> <php      #连接数据库    &...
    99+
    2022-10-18
  • SpringBoot整合Mongodb实现增删查改的方法
    目录一、什么是MongoDB二、在Window10上安装MongoDB三、配置MongoDB服务四、启动服务五、SpringBoot整合MongoDB一、什么是MongoDB Mon...
    99+
    2022-11-13
  • java实现单链表中的增删改
    本文实例为大家分享了java实现单链表中增删改的具体代码,供大家参考,具体内容如下 什么是链表 链表是有序的列表,但是它在内存中是存储如下 小结: 链表是以节点的方式来存储,是链式...
    99+
    2022-11-13
  • Java网络开发(Tomcat同步数据增删改查)—— 用Jsp语法实现同步请求的 增删改查
    目录 引出显示所有数据到前端(1)前端代码:list.jsp(2)后端代码:CompanyListServlet.java 新增数据---转发类型信息---新增信息业务(1)在list.j...
    99+
    2023-09-05
    java tomcat servlet
  • 实现应用mysql的增删改查功能的方法
    小编给大家分享一下实现应用mysql的增删改查功能的方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1.  前言针对...
    99+
    2022-10-18
  • JDBC 实现通用的增删改查基础类方法
    java中关于数据的管理有很多的框架,如hibernate、mybatis等,但我最开始学习的就是JDBC,我觉得JDBC还是很不错的,它让我更深层次的了解了数据的操作,今天我将我写过的JDBC基础类再写一遍!加深下记忆!!!先将通用的增查...
    99+
    2023-05-30
  • java如何连接数据库实现增删改查
    Java可以使用Java Database Connectivity(JDBC)API连接数据库并实现增删改查操作。以下是一个简单的...
    99+
    2023-08-24
    java 数据库
  • MySQL数据库列的增删改实现方法
    本文实例讲述了MySQL数据库列的增删改实现方法。分享给大家供大家参考,具体如下: 新建表user_info: CREATE TABLE user_info( id INT NOT NULL PRIMA...
    99+
    2022-10-18
  • 使用node+express+mysql实现一个简单的后台管理(增删改查)
    目录  一、新建目录,如:test-demo,使用命令行初始化  二、安装相关依赖  三、自行安装mysql后,安装Navicat 16 for MySQL图形界面工具, 创建数据库,导入student_database.sql文件  四、...
    99+
    2023-10-07
    node.js express mysql vue elementui
  • Java实现顺序表的增删查改功能
    创建顺序表 在java语言中要实现顺序表,首先创建一个类,因为顺序表本身就像数组,所以我们这里定义一个int类型的数组和usedata为有效数据,构造方法里先申请可以存放10个数据的...
    99+
    2022-11-12
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作