JAVA从基础到精通(数组)

本文详细介绍了Java中数组的各种操作方法,包括初始化、遍历、复制、查询等,并提供了多个示例代码来展示如何使用这些方法。
package HelloWorld;
public class Matrix {
public static void main(String[] args) {
int a[][]=new int[3][4];
for(int i=0;i<a.length;i++){
for(int j=0;j<a[i].length;j++){
System.out.print(a[i][j]);
}
System.out.println();
}

}

type:数组数据类型

arrayname:数组名称,一个合法的标识符

value:数组中的各元素的值

int arr[][]=new arr[]{1,2,3,4,5,6};

int arr2[]={1,2,3,4,5,6};

arr=new int[5];

package nihaozhongguo;
public class Trap {
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 c=0;c<b[k].length;c++){
System.out.println(b[k][c]);
}
System.out.println();
}
}
}

public class Tautog {
public static void main(String[] args) {
int arr2[][]={{4,3},{1,2}};
System.out.println("数组中的元素是:");
int i=0;
for(int x[]:arr2){
i++;
int j=0;
for(int e:x){
j++;
if(i==arr2.length&&j==x.length){
System.out.print(e);
}else
//如果不是二维数组中的最后一个元素
System.out.print(e+"、");
}
}
}
}

fill(int[] a,int value)

a:要进行元素替换的数组

value:要存储数组中所有元素的值

package nihaozhongguo;
import java.util.Arrays;
public class Swap {
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]);
}

package nihaozhongguo;
import java.util.Arrays;
public class Displace {
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.println("第"+i+"个元素是:"+arr[i]);
}
}
}

package HelloWorld;
public class Wordbook {
public static void main(String[] args) {
String str=new String("b");
String str2=new String("a");
String str3=new String("c");
System.out.println(str+" compareTo " +str2 +":"+ str.compareTo(str2));
System.out.println(str+" compareTo "+str3+":"+str.compareTo(str3));
}
}

复制数组

copyOf()方法

copyOf(arr,int newlength)

arr:要进行复制的数组

newlength:Int型常量,指复制后新数组的长度

如果新数组的长度大于数组arr的长度,则用0填充;(根据复制数组的类型来决定填充的值,整形数组用0填充,char型数组则用null来填充);

如果复制后的数组长度小于数组arr的长度,则会从数组arr的第一个元素开始截取至满足新数组长度为止。

package nihaozhongguo;
import java.util.Arrays;
public class Cope {
public static void main(String[] args) {
int arr[]=new int[]{23,42,12};
int newarr[]=Arrays.copyOf(arr,5);
for(int i=0;i<newarr.length;i++){
System.out.println(newarr[i]);
}
}
}

copyOfRange()方法

copyOfRange(arr,int formIndex,int toIndex)

arr:要进行复制的数组

formIndex:指定开始复制数组的索引位置,formIndex必须在0至整个数组的长度之间,新数组包括索引是formIndex的元素

toIndex:要复制范围的最后索引位置,可大于数组arr的长度。新数组不包括索引是toIndex的元素

package nihaozhongguo;
import java.util.Arrays;
public class Repeat {
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]);
}
}
}

数组查询

binarySearch(Object[]a,Object key)

a:要搜索的数组

key:要搜索的值

如果key包含在数组中,要返回搜索值的索引;

否则返回-1或“-”(插入点)。插入点是搜索键将要插入数组的那一点,即第一个大于此键的元素索引。

package nihaozhongguo;
import java.util.Arrays;
public class Example {
public static void main(String[] args) {
int ia[]=new int[]{1,8,9,4,5};
Arrays.sort(ia);
int index=Arrays.binarySearch(ia,4);
System.out.println("4的索引位置是:"+index);
}
}

binarySearch(Object[],int fromIndex,int toIndex,Object key)

binarySearch(Object[]a,int fromIndex,int toIndex,Object key)

a:要进行检索的数组

fromIndex:指定范围的开始处索引(包含)

toIndex:指定范围的结束处索引(不包含)

package nihaozhongguo;
import java.util.Arrays;
public class Rakel {
public static void main(String[] args) {
//定义String型数组str
String str[]=new String[]{"ab","cd","ef","yz"};
Arrays.sort(str);
//在指定的范围内搜索元素"cd"的索引位置
int index=Arrays.binarySearch(str, 0,2,"cd");
System.out.println("cd的索引位置是:"+index);
}
}






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值