数组
一、数组是什么
二、一维数组
a. 声名一维数组的两种方式
int arr[];
String arr[];
int[] arr;
String[] arr;
b. 为数组分配内存
arr = new int[5];
arr = new String[5];
c. 声名的同时为数组分配内存
int month[] = new int[12];
//二种初始化方式
int arr[] = new int[]{1,2,3,4,5};
int arr2[] = {1,2,3,4,5};
public static void example3() {
int arr2[] = {1,2,3,4,5};
for(int i = 0; i <= 4; i++) {
System.out.println(arr2[i]);
}
}
三、二维数组
a.
声明二维数组
int myarr[][];
b. 为数组分配内存
myarr = new int[2][4];
c. 分别为每一维分配内存
a = new int[2][];
a[0] = new int[2];
a[1] = new int[3];
d. 声明的同时为数组分配内存
int myarr[][] = new int[2][4];
int arr[][] = {{10,20}, {30,40}};
public static void example4() {
int arr[][] = new int[3][4];
for(int i = 0; i < arr.length; i++) {
for(int j = 0; j < arr[i].length; j++) {
System.out.print(arr[i][j]); //0000
}
}
}
四、数组的基本操作
//for
public static void example5() {
String arr[][] = {{"ww","ww"}, {"dd", "dd"}, {"mm", "mm"}};
for(int i = 0; i < arr.length; i++) {
for(int j = 0; j < arr[i].length; j ++){
System.out.print(arr[i][j]);
}
}
}
//foreach
public static void example6() {
String arr[][] = {{"ww", "ww"}, {"dd", "dd"}, {"mm", "mm"}};
for (String x[] : arr) {
for (String v : x) {
System.out.print(v);
}
}
}
//可通过Arrays类的静态方法fill()来对数组中的元素进行替换
//fill(int[] a, int value);
//fill(int[] a, form, to, int var); from--替换开始位置(包括) to--替换结束位置(不包括) var--要替换的值
public static void example7() {
int arr[] = new int[5];
Arrays.fill(arr, 8);
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i]); //88888
}
}
public static void example8() {
int arr[] = {3, 3, 3, 3};
Arrays.fill(arr, 1, 3, 8);
for (int x : arr) {
System.out.print(x); //3883
}
}
//通过Arrays类的静态sort()方法可以实现对数组的排序,sort()方法提供了多种重载形式,可对任意类型的数组进行升序排序
//Arrays.sort(object);
public static void example9() {
int arr[] = {7, 5, 1, 4};
Arrays.sort(arr);
for (int x : arr) {
System.out.print(x); //1457
}
}
//copyOf(); 复制数组至指定长度
//copyOfRange(); 复制数组至指定范围
public static void example10() {
int arr[] = {3, 4, 5};
int arr2[] = Arrays.copyOf(arr, 5);
for (int x : arr2) {
System.out.print(x + "-"); //3-4-5-0-0-
}
}
public static void example11() {
int arr[] = {3, 4, 5, 6, 7, 8, 9};
int arr2[] = Arrays.copyOfRange(arr, 0, 3);
for (int x : arr2) {
System.out.print(x + "-"); //3-4-5-
}
}
//Array类的binarySearch()方法,可使用二分搜索法来搜索指定数组,以获得指定对象,返回要搜索元素的索引值
//binarySearsh(Object[] a, Object key);
五、数组排序算法
原文链接:https://www.cnblogs.com/duomen/p/12916497.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有