数组:
1、数组是一组变量集合,存储相同数据类型的一组数据
2、连续的空间
3、数组名,即标识符,连续空间的首地址
4、元素下标标明了元素在数组中的位置,从0开始
5、数组中的每个元素都可以通过下标来访问
6、数组长度固定不变,避免数组越界(特点)
声明一个变量就是在内存空间划出一块合适的空间
声明一个数组就是在内存空间划出一串连续的空间
Arrays工具类:
1、Arrays类是JDK提供的专门用于操作数组的工具类,位于java.util包中。
2、直接调用Arrays类的方法操作数组,无需自己编码
equals:
equals方法作用:判断两个数组里的内容是否相等
比较个数、顺序、值是否一致
看hashcode是否一致
//hashcode不同,代表是两个对象
//hashcode相同,不一定是一个对象
String a1="1";
String a2=new String("1");
System.out.println(a1.hashCode());
System.out.println(a2.hashCode());
System.out.println(Arrays.equals(s1,s2));
//看数组里存放的数据类型是不是基本数据类型
ort:
sort方法作用:用工具类给数组排序
把一个数组按照有小到大进行排序
int[] score = {79,60,88,95,54};
Arrays.sort(score);
//str代表的是一个引用地址
String str = Arrays.toString(score);
//print方法可以直接打印字符串的值
System.out.println(str);
//String 是一个引用类,但打印的是直接String的值(特殊)
toString:
toString方法作用:一个数组转换成字符串
int[] a = { 1, 2, 3 };
System.out.println(a);
System.out.println(Arrays.toString(a));
fill:
fill方法作用:把数组中的所有元素替换成一个值
int[] num = { 3, 4, 5 };
// 参数1:数组对象
// 参数2:替换后的值
Arrays.fill(num, 6);
System.out.println(Arrays.toString(num));
copyOf:
copyOf方法作用:把一个原有的数组内容复制到新数组中
int[] a = {1,2,3};
//参数1:原数组
//参数2:新数组的长度
int[] b = Arrays.copyOf(a, a.length);
System.out.println(a);
System.out.println(b);
System.out.println(Arrays.toString(b));
binarySearch:
binarySearch方法作用: 1.通过二分法的方式找对应元素的下标
2.使用前提:必须经过排序才可以使用
char[] a = {'a','b','c','d','e'};
int i = Arrays.binarySearch(a, 'd');
System.out.println(i);
char[] b = {'d','a','e','c','b'};
Arrays.sort(b);
System.out.println(Arrays.toString(b));
int j = Arrays.binarySearch(b, 'd');
System.out.println(j);