我的编程空间,编程开发者的网络收藏夹
学习永远不晚

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

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

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

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;
			}
		}
	}

总结

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

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

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

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

下载Word文档

猜你喜欢

java怎么实现数组的增删改查

本篇内容主要讲解“java怎么实现数组的增删改查”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“java怎么实现数组的增删改查”吧!目录1.一维数组2.数组的扩容3.数组的复制1.直接将数组赋值给
2023-06-20

Java实现单链表增删改查的操作方法

这篇文章主要介绍了Java实现单链表增删改查的操作方法,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一、新建学生节点类Stu_Node节点包含:学号:int num;姓名:S
2023-06-14

Android数据库(SQLite)的简单使用——增、删、查改功能的简单实现

记录一下Android数据库的增删查改的简单使用 话不多说,先献上你们最爱的效果图~ 这边我用的是一个ListView来展示数据库里的数据准备工作: 先写一个类继承SQLiteOpenHelper,因为SQLiteOpenHelper.ja
2022-06-06

php mongodb实现增删改查的方法

本篇内容主要讲解“php mongodb实现增删改查的方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“php mongodb实现增删改查的方法”吧!php mongodb实现增删改查的方法:1
2023-06-07

SpringBoot整合MyBatis实现增删改查(简单,详细)

新建springboot工程 若选择https://start.spring.io下一步失败 则选择Custom,输入:https://start.aliyun.com后下一步 添加需要的依赖 添加其他依赖,全部依赖如下: d
2023-08-19

java如何连接数据库实现增删改查

Java可以使用Java Database Connectivity(JDBC)API连接数据库并实现增删改查操作。以下是一个简单的示例,演示如何使用JDBC连接MySQL数据库并实现增删改查操作。首先,需要确保已经下载并安装了MySQL数
2023-08-24

JDBC 实现通用的增删改查基础类方法

java中关于数据的管理有很多的框架,如hibernate、mybatis等,但我最开始学习的就是JDBC,我觉得JDBC还是很不错的,它让我更深层次的了解了数据的操作,今天我将我写过的JDBC基础类再写一遍!加深下记忆!!!先将通用的增查
2023-05-30

php如何实现数据的增删改查

PHP可以通过以下方式实现数据的增删改查:1. 数据的增加(Create):- 使用SQL语句插入数据:可以使用`INSERT INTO`语句将数据插入数据库中。- 使用ORM框架:ORM(对象关系映射)框架可以将对象和数据库表之间进行映射
2023-08-23

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录