Day04_17_常用Arrays类
常用Arrays类
-
Arrays.toString()方法
-
该方法是用来将数组中得内容转换成String类型,进行输出。入参可以是(byte,int,long,float,double,boolean,object)型的数组。
-
直接使用 数组名.toString() 只会打印出数组的地址.
int []arr={1,8,7,5,36,54,12,31,25,15,4,1,2,3,5}; System.out.println(Arrays.toString(arr)); //[1, 8, 7, 5, 36, 54, 12, 31, 25, 15, 4, 1, 2, 3, 5] System.out.println(arr.toString()); //[I@1b6d3586
-
实现 toString() 方法
// 重写toString()方法 public static void toStr(int arr[]){ for(int i=0;i<arr.length;i++){ if(i==0){ System.out.print("["); } if(i==arr.length-1){ System.out.println(arr[i]+"]"); }else{ System.out.print(arr[i]+", "); } }
-
-
Arrays.sort()方法 排序
-
Arrays.sort(int[] a) 对一个数组的所有元素进行排序,并且是按从小到大的顺序。
-
Arrays.sort(int[] a, int fromIndex, int toIndex)对数组部分数据排序,也就是,数组a的下标从fromIndex到toIndex-1的元素排序,注意:下标为toIndex的元素不参与排序!从小到大。
Arrays.sort(a); System.out.println(Arrays.toString(a)); // [1, 2, 3, 4, 5]
-
-
Arrays.fill() 方法
- public static void fill(int[] a, form, to, int val) 参数:a:数组名 form:替换开始位置(包括) to:替换结束位置(不包括) val:要替换的值 - 举例子 Arrays.fill( a1, value ); a1是一个数组变量,value是一个和a1中元素数据类型相符合的值, 其作用是:填充a1数组中的每个元素都是value boolean[] a1 = new boolean[5]; Arrays.fill( a1,true ); 结果 a1[] = {true,true,true,true,true};
-
Arrays.equals(数组a,数组b) 若两个数组的长度相等,且数组中得每一个位置的元素也相等,则认为这两个数组相等,返回值是false、true
int a[]={1,1,1,1}; int b[]={1,1,1,1}; System.out.println(a==b); //false System.out.println(Arrays.equals(a,b)); //true
-
Arrays.binarySerach()方法
-
查找数组中的某个元素
-
binarySearch(object[], object key);
-
如果key在数组中存在,则返回搜该元素的索引; 如果key不在该数组中,则返回-1(key值小于数组中的任意一个元素)或返回 -(数组中最大元素索引+2) (key大于数组中的任意一个元素)
-
-
Arrays.copyOf()方法
-
public static void copyOf(Object src, int length);
-
调用Arrays的copyOf()方法后,传回的数组是新的数组对象,不是原有数组,改变传回数组中的元素值,不会影响原来的数组。
-
copyOf()方法的第二个参数是指定要新建立的新数组长度,如果新数组的长度超过原数组的长度,则使用默认值填充。
-
例如:
int[] arr={1,2,3,4,5}; int []arr1=Arrays.copyOf(arr,10); System.out.println(Arrays.toString(arr1)); // [1, 2, 3, 4, 5, 0, 0, 0, 0, 0]
-