数组
package com.dong.www.array;
public class arrayDemo01 {
public static void main(String[] args) {
int[] d = {1,2,3,4,5,6,7,8,9};
int[] revers = revers(d);
printArrays(revers);
}
//数组重转
public static int[] revers(int[] array){ //数组可以作为形参
int[] result = new int[array.length]; //定义一个数组用于接收重转后的数组,其长度等于形参的长度。
/*
使用for循环来重转数组,将形参的第一个值赋给重转数组的最后一个值
*/
for (int i = 0, j = array.length-1; i < array.length; i++,j--) {
result[j] = array[i];
}
return result;
}
//打印数组
public static void printArrays(int[] array){
for (int i = 0; i < array.length; i++) {
System.out.println(array[i]);
}
}
}
Arrays类讲解
package com.dong.www.array;
import java.util.Arrays;
public class arrayDemo02 {
public static void main(String[] args) {
int[] a = {12,45,5723,47,9,7123,35,768,76,734};
System.out.println(Arrays.toString(a)); //Arrays.toString:打印数组
Arrays.sort(a); //数组升序
printArray(a);
}
public static void printArray(int[] array){
for (int i = 0; i < array.length; i++) {
if (i==0){
System.out.print("[" + array[i] + ", ");
}else if (i==array.length-1){
System.out.print(array[i] + "]");
}else {
System.out.print(array[i] + ", ");
}
}
}
}
稀疏数组
package com.dong.www.array;
public class arrayDemo04 {
public static void main(String[] args) {
//新建一个二维11*11的空白数组
/* 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0
*/
int[][] array1 = new int[11][11];
//给二维数组赋值
/* 0 0 0 0 0 0 0 0 0 0 0
0 0 1 0 0 0 0 0 0 0 0
0 0 0 2 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0
*/
array1[1][2] = 1;
array1[2][3] = 2;
//打印数组
for (int i = 0; i < array1.length; i++) {
for (int j = 0; j < array1[i].length; j++) {
System.out.print(array1[i][j] + "\t");
}
System.out.println();
}
//获取二维数组的有效值个数
int sum = 0;
for (int i = 0; i < 11; i++) {
for (int j = 0; j < 11; j++) {
if (array1[i][j] != 0){
sum++;
}
}
}
/*
创建一个新数组来保存array1的2个有效数值
11 11 2 |array1的行数 array1的列数 有效数值
1 2 1 |有效值所在的行 有效值所在的列 有效值
2 3 2 |有效值所在的行 有效值所在的列 有效值
*/
int[][]array2 = new int[sum+1][3];
//确定压缩数组的头部信息
array2[0][0] = 11;
array2[0][1] = 11;
array2[0][2] = sum;
//给压缩数组赋值
int sum1 = 0;
for (int i = 0; i < array1.