算法与数据结构笔记4——线性结构之数组

本文深入讲解Java中数组的创建、访问、遍历及增删元素的方法,并提供代码示例,帮助读者掌握数组基本操作。

数组图例

在这里插入图片描述

数组的基本使用

代码举例:

public class TestArray {
	public static void main(String[] args) {
		// 创建一个数组
		int[] arr1 = new int[3];
		// 获取数组长度
		int length1 = arr1.length;
		System.out.println("arr的长度:"+length1);
		// 访问数组中的元素:数组名.[下标]  注意:下标从0开始,最大可以取到长度-1
		int element0 = arr1[0];
		System.out.println("element0:"+element0);
		// 为数组中的元素赋值
		arr1[0] = 99;
		System.out.println("element0:"+arr1[0]);
		arr1[1] = 98;
		arr1[2] = 97;
		// 遍历数组
		for (int i = 0; i < arr1.length; i++) {
			System.out.println("arr1 element"+i+":"+arr1[i]);
		}
		// 创建数组的同时为数组中的元素赋值
		int[] arr2 = new int[] {90,80,70,60,50};
		// 获取数组长度
		System.out.println("arr2的长度:"+arr2.length);
	}
}

为数组添加元素

代码示例:

public class TestOpArray {
	public static void main(String[] args) {
		// 解决数组长度不可变的问题
		int[] arr = new int[] {9,8,7};
		// 快速查看数组中的元素
		System.out.println(Arrays.toString(arr));
		// 要加入数组的目标元素
		int dst = 6;
		
		// 创建一个新的数组,长度是原数组长度+1
		int[] newArr = new int[arr.length+1];
		// 把原数组中的数据全部复制到新数组中
		for (int i = 0; i < arr.length; i++) {
			newArr[i] = arr[i];
		}
		// 把目标元素放入新数组的最后
		newArr[arr.length] = dst; 
		// 新数组替换原数组
		arr = newArr;
		// 查看原数组元素,看是否替换替换成功
		System.out.println(Arrays.toString(arr));
	}
}

为数组删除元素

代码示例:

import java.util.Arrays;

public class TestOpArray2 {
	// 如何删除数组中的元素
	public static void main(String[] args) {
		// 目标数组
		int[] arr = new int[] {9,8,7,6,5};
		// 要删除元素的下标
		int dst = 3;
		
		// 创建一个新的数组,长度是原数组的长度-1
		int[] newArr = new int[arr.length-1];
		// 复制原来数组中处理了要删除元素以外的元素
        for (int i = 0; i < arr.length; i++) {
            // 判断一下下标,防止数组越界
            if (i < newArr.length) {
                // 判断要删除元素之前的元素
                if (i < dst) {
                    newArr[i] = arr[i];
                } else {
                    // 要删除的元素之后的元素
                    newArr[i] = arr[i + 1];
                }
            }
        }
		// 新数组替换旧数组
		arr = newArr;
		System.out.println(Arrays.toString(arr));
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值