常用的数据结构—数组
原文链接:常用的数据结构
常用的数据结构—数组
数组对于每一门编程语言来说都是重要的数据结构之一,当然不同语言对数组的实现及处理也不尽相同。
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列
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可以领取更多学习资料