什么是数组
数组的声明和创建
public class ArrayDemo01 { public static void main(String[] args) { int[] nums; // 1.定义 nums=new int[10]; // 2.创建一个数组 // 3.给数组元素赋值 nums[0]= 1; // 获取数组长度 arrays.length System.out.println(nums.length); }}
三种初始化及内存分析
public class ArrayDemo02 { public static void main(String[] args) { // 静态初始化 创建+赋值 int [] a={1,2,3,4,5,6,7,8}; Man[] men={new Man(),new Man()}; // 动态初始化:包含默认初始化 int[]b=new int[10]; b[0]=10; }}public class Man {}
下标越界及小结
数组的使用
``
public class ArrayDemo03 { public static void main(String[] args) { int[] arrays={1,2,3,4,5}; //打印全部数组元素 for (int i=0;i<arrays.length;i++){ System.out.println(arrays[i]); } System.out.println("===================="); //增强型for循环 //arrays.for 自动生成增强型for循环 //JDK1.5,没有下标,取不到下标 for (int array : arrays) { System.out.println(array); } }}
二维数组
Arrays类详解
public class ArrayDemo04 { public static void main(String[] args) { int[][]array={{1,2},{3,4},{5,6}}; int[] a={1,2,3,4,231,15,67,121}; //打印数组元素 System.out.println(a);// [I@1b6d3586 System.out.println(Arrays.toString(a)); // [1, 2, 3, 4, 231, 15, 67, 121] Arrays.sort(a); //数组进行排序 System.out.println(Arrays.toString(a)); // [1, 2, 3, 4, 15, 67, 121, 231] }}
冒泡排序
import java.util.Arrays;public class ArrayDemo05 { public static void main(String[] args) { int[] a={123,6,5432,31,524,9876}; int []sort=sort(a); System.out.println(Arrays.toString(sort)); //[9876, 5432, 524, 123, 31, 6] } //冒泡排序 //1. 比较数组中,两个相邻的元素,如果前一个比后一个大,就交换二者位置 //2. 每一次比较都会产生一个最大或最小的数字 //3. 下一轮,可以少一次排序! public static int[] sort(int[]array){ int temp; boolean flag =false; //通过flag标识位减少没有意义的比较 //外层循环,判断要走多少次 for (int i = 0; i < array.length; i++) { for (int j = 0; j < array.length - 1-i; j++) { if (array[j+1]>array[j]){ temp=array[j]; array[j]=array[j+1]; array[j+1]=temp; flag=true; } } if (!flag){ break; } } return array; }}
稀疏数组
import java.util.Arrays;public class ArrayDemo06 { public static void main(String[] args) { //1.创建一个二维数组 11*11 0:没有棋子 1:黑棋 2:白棋 int [][]array1=new int [11][11]; array1[1][2]=1; array1[2][3]=2; System.out.println("原始数组:"); //输出原始的数组 for (int[]ints:array1){ for (int anInt:ints){ System.out.print(anInt+"\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++; } } } //2. 创建一个稀疏数组 int[][]array2=new int[sum+1][3]; array2[0][0]=11; array2[0][1]=11; array2[0][2]=sum; //遍历二维数组,将非零的值,存放到稀疏数组中 int count=0; for (int i=0;i<array1.length;i++){ for (int j = 0; j < array1[i].length; j++) { if (array1[i][j]!=0){ count++; array2[count][0]=i; array2[count][1]=j; array2[count][2]=array1[i][j]; } } } //输出稀疏数组 System.out.println("稀疏数组:"); for (int[]ints:array2){ for (int anInt:ints){ System.out.print(anInt+"\t"); } System.out.println(); } //还原稀疏数组 //1.读取稀疏数组 int[][]array3=new int[array2[0][0]][array2[0][1]]; //2.给其中的元素还原它的值 for (int i = 0; i < array3.length; i++) { Arrays.fill(array3[i],0); } for (int i = 1; i < array2.length; i++) { array3[array2[i][0]][array2[i][1]]=array2[i][2]; } System.out.println("还原稀疏数组:"); for (int[]ints:array3){ for (int anInt:ints){ System.out.print(anInt+"\t"); } System.out.println(); } }}
原文转载:http://www.shaoqun.com/a/598604.html
华翰物流:https://www.ikjzd.com/w/1799
特许金融分析师:https://www.ikjzd.com/w/1396
什么是数组数组的声明和创建publicclassArrayDemo01{publicstaticvoidmain(String[]args){int[]nums;//1.定义nums=newint[10];//2.创建一个数组//3.给数组元素赋值nums[0]=1;//获取数组长度arrays.lengthSystem.out.println(nums.length);}}三种初始化及内存分析p
折扣网:https://www.ikjzd.com/w/74
出口易:https://www.ikjzd.com/w/1317
primc:https://www.ikjzd.com/w/129
8天之后,亚马逊海卖助手将关停,代替工具用哪个?(工具二):https://www.ikjzd.com/home/7241
Shopee平台展现逻辑,免费获取流量的方法!:https://www.ikjzd.com/home/102829
特朗普的"自残式"要价:杀敌一千,自损一千!:https://www.ikjzd.com/home/93701
No comments:
Post a Comment