一、遍历数组
1、使用for语句遍历二维数组,示例如下
public class forArr {
public static void main(String args[]) {
int b[][] = new int[][] {{1},{2,3},{4,5,6}};
for(int k =0;k<b.length;k++) {
for(int j=0;j<b[k].length;j++) {
System.out.println(b[k][j]);
}
}
}
}
/*输出结果如下:
1
2
3
4
5
6
*/
2、使用foreach语句遍历二维数组,示例如下:
public class foreachArr {
public static void main(String args[]) {
int arr[][]=new int[][]{{1,2},{3,4}};
System.out.println("数组中的元素是:");
for(int x[]:arr) {
for(int y:x) {
if(y==x.length) {
System.out.print(y);
}
else {
System.out.print(y+'、');
}
}
}
}
}
/*输出结果如下:
数组中的元素是:
1、2、3、4
*/
二、填充替换数组元素
1、fill(int[] a,int value)
该方法可将指定的int值分配给int类型数组的每个元素
语法如下:
fill(int[] a,int value);
//a:要进行元素替换的数组
//value:要存储数组中所有元素的值
示例如下:
import java.util.Arrays;
public class fillTest1 {
public static void main(String args[]) {
int arr[] = new int[5];
Arrays.fill(arr, 8);
for(int i=0;i<arr.length;i++) {
System.out.println("第"+i+"个元素是:"+arr[i]);
}
}
}
/*输出结果如下:
第0个元素是:8
第1个元素是:8
第2个元素是:8
第3个元素是:8
第4个元素是:8
*/
2、fill(int a[],int fromIndex,int toIndex,int value)
该方法将指定的Int值分配给Int类型数组指定范围中的每个元素,formIndex~toIndex
语法如下:
fill(int a[],int fromIndex,int toIndex,int value)
//a:要进行填充的数组
//fromIndex:第一个需要填充的元素的索引(包括)
//toIndex:最后一个需要填充的元素的索引(不包括)
示例如下:
import java.util.Arrays;
public class fillTest2 {
public static void main(String args[]) {
int arr[] = new int[] {45,12,2,11};
Arrays.fill(arr, 1,2,8);
for(int i=0;i<arr.length;i++) {
System.out.println("第"+i+"个元素是:"+arr[i]);
}
}
}
/*输出结果如下:
第0个元素是:45
第1个元素是:8
第2个元素是:2
第3个元素是:11
*/
三、对数组进行排序
使用Arrays.sort(object)可以对数组进行排序,示例如下:
import java.util.Arrays;
public class sortTest {
public static void main(String args[]) {
int arr[] = new int[] {123,21,31,2,12};
Arrays.sort(arr);
for(int i=0;i<arr.length;i++) {
System.out.println("第"+i+"个元素是:"+arr[i]);
}
}
}
/*输出结果如下:
第0个元素是:2
第1个元素是:12
第2个元素是:21
第3个元素是:31
第4个元素是:123
*/
四、复制数组
1、copyOf()
该方法提供了多种重载形式
语法如下:
copyOf(arr,newlength)
//arr:要进行复制的数组
//newlength:int类型常量,指复制后的新数组长度
示例如下:
import java.util.Arrays;
public class copyOfTest {
public static void main(String args[]) {
int arr[] = new int[] {12,3,21,322,333};
int newarr[] = Arrays.copyOf(arr, 5);
for(int i=0;i<newarr.length;i++) {
System.out.println(newarr[i]);
}
}
}
/*输出结果如下:
12
3
21
322
333
*/
2、copyOfRange()
语法如下:
copyOfRange(arr,int formIndex,int toIndex);
//arr:要进行复制的数组对象
//formIndex:指定开始复制数组的索引位置
//toIndex:要复制范围的最后索引位置
示例如下:
import java.util.Arrays;
public class copyOfRangeTest {
public static void main(String args[]) {
int arr[] = new int[] {1,2,3,4,5,6,7};
int newarr[] = Arrays.copyOfRange(arr, 0, 3);
for(int i=0;i<newarr.length;i++) {
System.out.println(newarr[i]);
}
}
}
/*输出结果如下:
1
2
3
*/
五、数组查询
1、binnarySearch()
语法如下:
binarySearch(Object[] a,Object key);
//a:要搜索的数组
//key:要搜索的值
示例如下:
import java.util.Arrays;
public class binarySearchTest {
public static void main(String args[]) {
int arr[] = new int[] {1,2,3,21,33};
Arrays.sort(arr);
int index = Arrays.binarySearch(arr, 3);
System.out.println("3的位置索引为:"+index);
}
}
/*输出结果如下:
3的位置索引为:2
*/
2、binarySearch(Object[] a,int fromIndex,int toIndex,Object key)
语法如下:
binarySearch(Object[] a,int fromIndex,int toIndex,Object key)
//a:要进行索引的数组
//fromIndex:指定范围的开始处索引(包含)
//toIndex:指定范围的结束处索引(不包含)
//key:要搜索的元素
示例如下:
import java.util.Arrays;
public class binarySearchTest2 {
public static void main(String args[]) {
String str[] = new String[] {"a","b","f","c","d"};
Arrays.sort(str);
int index = Arrays.binarySearch(str, 0,3,"c");
System.out.println("c的位置索引为:"+index);
}
}
/*输出结果如下:
c的位置索引为:2
*/