一维数组初始化: 动态初始化:数组声明且为数组元素分配空间与赋值的操作分开进行 静态初始化:在定义数组的同时就为数组元素分配空间并赋值。
二维数组初始化: 格式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]); } }