1. 数组的遍历
2. 数组的填充替换
3. 对数组进行排序
4. 复制数组
5. 数组的查询
数组的遍历
1.直接遍历
int b[][] = new int[][] {{1},{2,3},{4,5,6}};
for(int i=0;i<b.length;i++) {
for(int j=0;j<b[i].length;j++) {
System.out.print(b[i][j]);
2.foreach 语句遍历数组
public class foreach语句遍历二维数组 {
public static void main(String[] args) {
int b[][]=new int[][] {{1,2},{3,4}};
System.out.print("数组中的元素是:\n");
int i = 0;
for(int x[]:b) { //外层循环计数变量
i++;
int j=0;
for(int e:x) { //循环遍历每一个数组元素
j++;
if(i == b.length && j == x.length) { //判断是否数组的最后一个元素
System.out.print(e);
}else
System.out.print(e+".");
}
}
}
}
数组的填充与遍历
1.数组的填充
fill(int[] a, int value)
* a:要进行元素替换的数组
* value:要存储数组中的所有元素的值
import java.util.Arrays;
/* fill(int[] a, int value)
* a:要进行元素替换的数组
* value:要存储数组中的所有元素的值
*/
public class 填充替换数组元素 {
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.print("第"+i+"个元素:"+arr[i]);
System.out.print("\n");
}
}
}
2.数组的替换
*
* fill(int[] a,int fromlndex , int tolndex ,int value)
* a:要进行填充的数组
* formlndex:要使指定值填充的第一个元素的索引
* tolndex:要是指定值填充的最后一个元素的索引
* value:要存储在数组所有元素的值
*/
import java.util.Arrays;
/*
* fill(int[] a,int fromlndex , int tolndex ,int value)
* a:要进行填充的数组
* formlndex:要使指定值填充的第一个元素的索引
* tolndex:要是指定值填充的最后一个元素的索引
* value:要存储在数组所有元素的值
*/
public class fill函数数组的替换 {
public static void main(String[] args) {
int arr[] = new int[]{45,12,2,10};
Arrays.fill(arr,1,2,8);
for(int i =0;i<arr.length;i++) {
System.out.print("第"+i+"个元素:"+arr[i]);
System.out.print(" \n");
}
//System.out.print(" ");
}
}
对数组进行排序
/*
* Arrays类的静态sort方案
* Arrays.sort(object)
* Java中的String类型数组的排序算法是根据字典编排顺序排序的,因此数字排在字母前,大写字母排在小写字母前面
*/
import java.util.Arrays;
/*
* Arrays类的静态sort方案
* Arrays.sort(object)
* Java中的String类型数组的排序算法是根据字典编排顺序排序的,因此数字排在字母前,大写字母排在小写字母前面
*/
public class sort数组排序 {
public static void main(String[] args) {
int arr[]=new int[] {23,42,12,8};
Arrays.sort(arr);
for(int i= 0;i<arr.length;i++) {
System.out.println(arr[i]);
}
}
}
复制数组
/*
* Arrays类的copyOf()和copyOfRange()方法
* copyOf(arr,int newlength)
* newlength 复制后的新数组的长度。如果数组长度大于原数组arr的长度,则用0填充
* copyOfRang(arr,int formlndex,int tolndex)
* fromlndex 指定开始复制数组的索引位置
* tolndex 要复制范围的最后索引位置
*/
import java.util.Arrays;
/*
* Arrays类的copyOf()和copyOfRange()方法
* copyOf(arr,int newlength)
* newlength 复制后的新数组的长度。如果数组长度大于原数组arr的长度,则用0填充
* copyOfRang(arr,int formlndex,int tolndex)
* fromlndex 指定开始复制数组的索引位置
* tolndex 要复制范围的最后索引位置
*/
public class 复制数组 {
public static void main(String[] args) {
int arr[] = new int[]{23,42,12,84,10};
int newarr[] = Arrays.copyOfRange(arr, 0, 3);
for(int i=0;i<newarr.length;i++) {
System.out.println(newarr[i]);
}
}
}
数组查询
*
* Arrays 类的 binarySearch()
* binarySearch(Object[] a,Object Key)
* a:要搜索的数组
* key:要搜索的值
* binarySearch(Object[] a,int fromlndex,int tolndex,Object key)
* a:要进行检索的值
* fromlndex:指定范围的开始处索引
* fromlndex:指定范围的结束处索引
* key:要搜索的元素
*/
import java.util.Arrays;
/*
* Arrays 类的 binarySearch()
* binarySearch(Object[] a,Object Key)
* a:要搜索的数组
* key:要搜索的值
* binarySearch(Object[] a,int fromlndex,int tolndex,Object key)
* a:要进行检索的值
* fromlndex:指定范围的开始处索引
* fromlndex:指定范围的结束处索引
* key:要搜索的元素
*/
public class 数组的查询 {
public static void main(String[] args) {
String str[] = new String[] {"ab","cd","ef","yz"};
Arrays.sort(str);//将数组进行排序
int index = Arrays.binarySearch(str,0,2,"cd");
System.out.println("cd的索引位置是:"+index);
}
}
数组的排序算法,下一篇编写。。