一维数组初始化:
动态初始化:数组声明且为数组元素分配空间与赋值的操作分开进行
静态初始化:在定义数组的同时就为数组元素分配空间并赋值。
二维数组初始化:
格式1(动态初始化):int[][] arr = new int[3][2];
格式2(动态初始化):int[][] arr = new int[3][];
格式3(静态初始化):int[][] arr = new int[][]{{3,8,2},{2,7},{9,0,1,6}};
数组赋值(测试)
int[] x,y[];
x[0] = y; //no
y[0] = x; //yes
y[0][0] = x;//no
x[0][0] = y;//no
y[0][0] = x[0];//yes
x = y; //no
数组排序:
插入排序:直接插入排序、折半插入排序、Shell排序
交换排序:冒泡排序、快速排序(或分区交换排序)
选择排序:简单选择排序、堆排序
归并排序
基数排序
java.util.Arrays类包含了用来操作数组(比如排序和搜索)的各种方法。Arrays拥有一组static方法。
equals():比较两个array是否相等。array拥有相同元素个数,且所有对应元素两两相等。
fill():将值填入array中。
sort():用来对array进行排序。
binarySearch():在排好序的array中寻找元素。
System.arraycopy():array的复制。
代码:
package com.v512.main3;
import java.util.Arrays;
public class Sort {
public static void main(String[] args) {
int [] number = {5,900,1,5,77,30,64,700};
int [] number2 = {50,9000,10,50,770,300,640,7000};
//判断两个数组是否相等
System.out.println(Arrays.equals(number, number2));
/*
src:源数组; srcPos:源数组要复制的起始位置;
dest:目的数组; destPos:目的数组放置的起始位置; length:复制的长度。*/
System.arraycopy(number, 0, number2, 0, 2);
for(int i = 0; i < number2.length; i++)
System.out.print(number2[i]);
System.out.println();
//数组排序
Arrays.sort(number);
for(int i = 0; i < number.length; i++)
System.out.print(number[i]);
System.out.println();
//查询一个值在数组中的位置
System.out.println(Arrays.binarySearch(number, 64));
//填充数组
/* Assigns the specified int value to each element of the specified array of ints.
Parameters:
a the array to be filled
val the value to be stored in all elements of the array*/
Arrays.fill(number, 0);
for(int i = 0; i < number.length; i++)
System.out.print(number[i]);
}
}