常用的数据结构—数组

原文链接:常用的数据结构

常用的数据结构—数组

数组对于每一门编程语言来说都是重要的数据结构之一,当然不同语言对数组的实现及处理也不尽相同。

Java 语言中提供的数组是用来存储固定大小的同类型元素。

你可以声明一个数组变量,如 numbers[100] 来代替直接声明 100 个独立变量 number0,number1,....,number99。

要使用Java的数组,必须经过以下两个步骤。
(1) 声明数组。
(2) 分配内存给该数组。

一维数组

这两个步骤的语法如下。

数据类型  数组名[];       // 声明一维数组
数据类型[]  数组名;		 // 声明一维数组
数组名 = new 数据类型[个数]; //分配内存给数组

// 另外一种创建数组的方法
数据类型[] 数组名 = {value0, value1, ..., valuek};

注意: 建议使用 数据类型[]  数组名 的声明风格声明数组变量。 数据类型  数组名[] 风格是来自 C/C++ 语言 ,在Java中采用是为了让 C/C++ 程序员能够快速理解java语言。

实例1:

package cn.coder306;

public class Main {
	public static void main(String[] args) {
        //创建数组 语法:数据类型[] 数组名 = {value0, value1, ..., valuek};
        int [] numbers = {10, 20, 30, 40, 50};
		readNumbers(numbers);
	}
	
	// 读数字
	public static void readNumbers(int[] numbers) {
		for(int n :  numbers) {
            if(n == 30){
                // 跳出循环
                break;
            }
			System.out.println("数字:" + i);
		}
	}
}

实例2:

有一个int类型的购物车,需要给这个存放车子所有物品的序号。

package cn.coder306;

public class Main {
	public static void main(String[] args) {
        //创建数组 语法:数据类型[] 数组名 = new 数据类型[个数];
        int[] car = new int[10];
		
		for(int i = 0 ;i < car.length; i++) {
			car[i] = i;
		}
	}
}

多维数组

多维数组可以看成是数组的数组,比如二维数组就是一个特殊的一维数组,其每一个元素都是一个一维数组,例如:

String str[][] = new String[3][4];

语法:

数据类型  数组名[][];       // 声明二维数组
数据类型[][]  数组名;		 // 声明二维数组
数组名 = new 数据类型[个数][个数]; //分配内存给数组

// 另外一种创建二维数组的方法
数据类型[][] 数组名 = {{value0, value1, ..., valuek},{value0, value1, ..., valuek}....};

实例:

要求使用二维码数组按照座位顺序记录班级所有学生成绩,班级只有4排2列

image-20200627205536562

package cn.coder306;

public class Main {
	public static void main(String[] args) {
        // 班级分数记录二维数组
		int[][] scores = new int[2][];
		
        // 第一排分数
		int[] col1 = new int[4];
		col1[0] = 78;
		col1[1] = 79;
		col1[2] = 67;
		col1[3] = 80;
		
        // 第二批分数
		int[] col2 = new int[4];
		col2[0] = 98;
		col2[1] = 99;
		col2[2] = 100;
		col2[3] = 95;
		
		scores[0] = col1;
		scores[1] = col2;
	}
}

数组操作

对比两个数组对应位置元素值是否相同

package cn.coder306;

public class Main {
	public static void main(String[] args) {
		
		int[] col1 = new int[4];
		col1[0] = 78;
		col1[1] = 79;
		col1[2] = 67;
		col1[3] = 80;
		
		int[] col2 = new int[4];
		col2[0] = 98;
		col2[1] = 99;
		col2[2] = 100;
		col2[3] = 95;
		
		boolean result = equalsArrays(col1, col2);
		System.out.println(result);
	}
	
	/**
	 * 对比数组是否相同
	 * @param col1
	 * @param col2
	 * @return
	 */
	public static boolean equalsArrays(int[] col1,int[] col2) {
		//先判断数组长度是否一致
		if(col1.length != col2.length) {
			return false;
		}
		
		// 判断元素值是否相同
		for(int i  = 0;i < col1.length ; i++) {
			if(col1[i] != col2[i]) {
				return false;
			}
		}
		return true;
	}
}

思考题:

完成数组int[] col1 = {78,30,50,49,80}进行排序?

查找数组int[] col1 = {78,30,50,49,80}中80的位置?

深入探讨可以加笔者QQ:1120855315
点击获取免费Java免费视频
添加QQ群837949026可以领取更多学习资料

posted @ 2020-06-29 20:02  两粒  阅读(154)  评论(0编辑  收藏  举报