5.2数组中的Array类

Arrays类
Arrays类是JDK提供的专门用于操作数组的工具类,位于java.util包中。
直接调用Arrays类的方法操作数组,无需自己编码。
Arrays类常用的方法
1. boolean equals(array1,array2):比较两个数组是否相等
2. void sort(arry1):对数组array的元素进行升序排列
3. String toString(array):该方法将会一个数组array转换成一个字符串。
4. void fill(array,val):把数组array所有元素都赋值为val
5.copyof(array,length):把array数组复制成一个长度为length的新数组
6. int binarySearch(array,val):查询元素值val在数组array中的下标

sort方法作用对一个数组按照由小到大排序
int[] score={80,99,53,65,72};
Arrays.sort(score);
//将数组转换成字符串,str代表一个引用地址
String str=Arrays.toString(score);
//print方法可以直接打印字符串的值
System.out.println(str);
结果如图:
String a=new String("Q");
String b=new String("Q");
if(a.equals(b)){
System.out.println("相等");
}else{
System.out.println("不相等");
}
结果:“相等”


if(a==b){
System.out.println("相等");
}else{
System.out.println("不相等");
}
结果:“不相等”

equals方法的作用是判断两个数组里面的内容是否相等,结果是true或false
比较的内容有:值,顺序,个数
int[] A={1,2,3};
int[] B={1,2,3};
boolean s=Arrays.equals(A, B);
System.out.println(s);
结果:true

String[] str1={"1","2","3"};
String[] str2={"1","2",new String("3")};
System.out.println(Arrays.equals(str1, str2));
结果:true

//引用数据类型之间的==,比较的是地址
String[] str1={"1","2","3"};
String[] str2={"1","2",new String("3")};
System.out.println(str1==str2);
结果:false

//hashcode的结果是int型,转换成了数值
//hashcode不同,代表的是两个对象
//hashcode相同,代表的不一定是yi个对象
String[] str1={"1","2","3"};
String[] str2={"1","2",new String("3")};
System.out.println(str1.hashCode()==str2.hashCode());
结果:false
Arrays.toString方法是将数组转换成字符串
int[] num={2,5,3};
System.out.println(Arrays.toString(num));
结果:[2,5,3]

fill把数组中的所有元素替换成同一个数值(要操作的数组,要替换成的内容)
int[] num={2,5,3};
Arrays.fill(num, 6);
System.out.println(Arrays.toString(num));
结果:[6,6,6]

Arays.binarySearch通过二分法的方式找到对应元素的下标 (数组,要找下标的元素)
char[] array={'a','b','c','d'};
int i=Arrays.binarySearch(array, 'c');
System.out.println(i);
结果:2
char[] array1={'e','b','f','d'};
int j=Arrays.binarySearch(array1, 'd');
结果:错误。原因是使用此方法前提是必须对数组进行排序才能使用
copyof方法把原数组的内容复制到一个新数组中(原数组,新数组的长度)
int[] c1={1,2,5,4,9};
int[] b=Arrays.copyOf(c1,7);
System.out.println(Arrays.toString(b));
结果:[1, 2, 5, 4, 9, 0, 0]

实例练习:
package com.jredu.ch06;
import java.util.Arrays;
public class Ch04 {
public static void main(String[] args) {
// TODO Auto-generated method stub
//将一组乱序的字符进行排序,进行升序和降序输出
char[] c={'a','c','u','b','e','p','f','z'};
Arrays.sort(c);
String str=Arrays.toString(c);
System.out.println(str);
System.out.print("[");
for(int i=c.length-1;i>=0;i--){
if(i!=c.length-1){
System.out.print(" ,");
}
System.out.print(c[i]);
}
System.out.print("]");

}
}
结果如图:






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值