标签:Arrays System binarySearch int println out
Arrays类
#Arrays类的方法都是static修饰的静态方法,在使用时可以直接使用类名进行调用,而不用使用对象来调用,不用不是不能调用
package se.he.array;
import java.util.Arrays;
public class ArrayDome06 {
public static void main(String[] args) {
int[] a = {1,45,45,50,5115,1,158};
int[] b = {5,44,20,540,51105,10,1058};
int[] c = {1,45,45,50,5115,1,158};
int[] d = {1,2,3,7,8,10};
//binarySearch:搜索数组
/*注意
要搜索的数组里的元素值必须经过排序,否则会导致搜索结果false
搜索的目标值在数组中存在就会打印目标值所在的元素下标
不在的话就会先打印- 再+第一个大于目标值的元素下标+1
2 -6 3 -4,目标值在不在目标数组中就很容易区分了
*/
int d1 = Arrays.binarySearch(d,3);//d是要搜索的数组,key是要搜索的值
int d2 = Arrays.binarySearch(d,9);//元素下标5比目标值9大,所以打印下标5+1=6
int d3 = Arrays.binarySearch(d,7);
int d4 = Arrays.binarySearch(d,4);
System.out.println(d1+" "+d2+" "+d3+" "+d4+" ");
//binarySearch:区间搜索数组
int dd = Arrays.binarySearch(d,3);//打印下标2
int dd1 = Arrays.binarySearch(d,0,1,3);//都比目标值小打印-2
int dd2 = Arrays.binarySearch(d,3,5,3);//都比目标值大打印-4
/*加了两个int变量,代表区间的开始和结束
从fromindex(包含)到toindex(不包含)这个区间里面搜索
打印结果和搜索数组原理一样
当如果区内的值都比目标值小,则打印- 再+toindex+1
如果区间内的值都比目标值大,则打印- 再+fromlndex+1
*/
System.out.println(dd);
System.out.println(dd1);
System.out.println(dd2);
//比较数组中元素值是否相等,打印结果只能是布尔值类型
boolean aa = Arrays.equals(a,b);
boolean bb = Arrays.equals(b,c);
boolean cc = Arrays.equals(a,c);
System.out.println(aa);
System.out.println(bb);
System.out.println(cc);
System.out.println(a);//[I@14ae5a5对象
//打印数组元素:toString
System.out.println(Arrays.toString(a));
//自己写打印元素的方法也可,但是避免重复造轮子
printA(a);
//数组进行升序排序:sort
Arrays.sort(a);
System.out.println(Arrays.toString(a));
//给每个数组元素进行填充赋值、也可以给区间元素填充,比如2到5之间的下标34填充赋值
//a:数组,val:赋值
Arrays.fill(a,0);
System.out.println(Arrays.toString(a));
}
public static void printA(int[]a) {
for (int i = 0; i < a.length; i++) {
if (i==0){
System.out.print("[");
}
if (i==a.length-1){
System.out.print(a[i]+"]");
}else {
System.out.print(a[i]+", ");
}
}
}
}
标签:Arrays,System,binarySearch,int,println,out 来源: https://www.cnblogs.com/studydiary/p/15310718.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。