怎么建视频网站免费的,定制家具网,正规网站建设公司在哪里,网站建设ftp软件一、Arrays.asList( )
1.作用#xff1a;Arrays.asList( )方法的作用是将数组转换成List#xff0c;将List中的全部集合对象添加至ArrayList集合中
2.参数#xff1a;动态参数 (T... a)
3.返回值#xff1a;List 集合 ListT
4.举例#xff1a;
package com…一、Arrays.asList( )
1.作用Arrays.asList( )方法的作用是将数组转换成List将List中的全部集合对象添加至ArrayList集合中
2.参数动态参数 (T... a)
3.返回值List 集合 ListT
4.举例
package com.ztt.Demo02;import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;public class demo03 {public static void main(String[] args) {//创建临时的List集合ListString girlListArrays.asList(张甜甜,张亚丽,任敏,史碧蓉);//全部添加至ArrayList集合中ArrayListString listnew ArrayListString();list.addAll(girlList);System.out.println(list);}}输出结果
[张甜甜, 张亚丽, 任敏, 史碧蓉]5.源代码解读 Arrays.asList( ) 是通过创建了一个 ArrayList 对象然后将动态参数(T... a)传入返回值是List 集合 ListT 二、Arrays.binarySearch( )
1.作用Arrays.binarySearch( )方法的作用是在一组有序数组里查找目标元素
2.参数(int[ ] a, int key)
参数1目标数组
参数2需要查找的元素
3.返回值查找到的目标元素的下标没有查找到返回-1
4.举例
import java.util.Arrays;public class demo03 {public static void main(String[] args) {int[] array {28,12,89,73,65,18,96,50,8,36};int target36; //目标元素//先排序Arrays.sort(array);System.out.println(Arrays.toString(array));//再查找int indexArrays.binarySearch(array, target);System.out.println(index);}
}import java.util.Arrays;public class demo05 {public static void main(String[] args) {// 查找元素使用Arrays工具类的binarySearch()方法// int[] numbers {11,12,13,14,17,19,13,27};//有序数组int[] numbers {3,6,2,5,9,7,6,2};//无序数组int target7;//快速排序Arrays.sort(numbers);System.out.println(Arrays.toString(numbers));//基于二分查找要求数组必须有序int indexArrays.binarySearch(numbers, target);System.out.println(index);}}
输出结果
[8, 12, 18, 28, 36, 50, 65, 73, 89, 96]
4[2, 2, 3, 5, 6, 6, 7, 9]
6
5.源代码解读 binarySearch( )方法通过传入参数目标数组和需要查找的元素返回binarySearch0方法的四个参数:a:要搜索的数组 0要搜索的起始下标 a.length要搜索的结束下标最后一个元素的下标为a.length-1 key:要搜索的值 binarySearch( )方法是调用了 binarySearch0( )方法low为低位0high为高位数组a.length-1然后通过计算得到中间位置mid获取中间值midVal然后再用中间值midVal和目标值key相较。 若中间值midVal大于目标值key时说明目标元素可能在目标数组的上半区将highmid-1然后继续计算中间值依次循环直到lowhigh时,循环结束。若找到目标元素则返回其下标若没找到则返回一个负数 -(low 1) 若中间值midVal小于目标值key时说明目标元素可能在目标数组的下半区将lowmid1然后继续计算中间值,依次循环直到lowhigh时,循环结束。若找到目标元素则返回其下标若没找到则返回一个负数 -(low 1) 三、Arrays.copyOf( )
1.作用Arrays.copyOf( )方法的作用是复制数组
2.参数
参数1原数组
参数2复制的元素个数
3.返回值int类型的数组
4.举例
package com.ztt.Demo02;import java.util.Arrays;public class demo04 {public static void main(String[] args) {// 数组复制//方式2通过Arrays工具类的copyOf()\copyOfRange()int[] numbers {1,2,3,4,5,6,7};System.out.println(原数组内容Arrays.toString(numbers));System.out.println(numbers);//复制前三个元素从下标0开始复制复制前三个元素int[] arr01Arrays.copyOf(numbers, 3);System.out.println(前三个元素Arrays.toString(arr01));System.out.println(arr01);//复制所有元素从下标0开始复制复制所有元素int[] arr02Arrays.copyOf(numbers, numbers.length);System.out.println(所有的元素Arrays.toString(arr02));System.out.println(arr02);}}
输出结果
原数组内容[1, 2, 3, 4, 5, 6, 7]
[I515f550a
前三个元素[1, 2, 3]
[I626b2d4a
所有的元素[1, 2, 3, 4, 5, 6, 7]
[I5e91993f5.源代码解读 Arrays.copyOf( )方法通过传入参数原始数组和想要创建的新数组的长度返回一个int类型的数组创建一个新的数组int[ ] copy:长度为newLength,用于存放复制过来的元素然后通过System.arraycopy( )方法,将原数组中的元素复制到copy数组中。 System.copyOf( )
1.作用System.copyOf( )方法的作用是数组的复制效率高
2.参数
参数1原数组
参数2开始复制的位置
参数3目标数组
参数4开始存储的位置
参数5复制的长度复制的元素个数
3.返回值没有返回值 void
4.举例
import java.util.Arrays;public class demo01 {public static void main(String[] args) {// 数组的常用操作//1.填充//2.复制数组//方式1System类的arraycopy()方法 效率高int[] numbers {1,2,3,4,5,6,7};int[] targetnew int[numbers.length];//参数1原数组//参数2开始复制的位置//参数3目标数组//参数4开始存储的位置//参数5复制的长度复制的元素个数System.arraycopy(numbers, 0, target, 0, numbers.length);//输出数组内容System.out.println(Arrays.toString(numbers));System.out.println(Arrays.toString(target));//输出数组类型和内存地址System.out.println(numbers);System.out.println(target);}}输出结果
[1, 2, 3, 4, 5, 6, 7]
[1, 2, 3, 4, 5, 6, 7]
[I1eb44e46
[I6504e3b25.源代码解读 System.copyOf( )通过传入参数 原数组 开始复制的位置 目标数组 开始存储的位置 复制的元素个数 没有返回值。 四、Arrays.copyOfRange( )
1.作用Arrays.copyOfRange( )方法的作用是复制指定区间的元素
2.参数
参数1原数组
参数2开始复制的位置
参数3结束位置
3.返回值int类型的数组
4.举例
package com.ztt.Demo02;import java.util.Arrays;public class demo05 {public static void main(String[] args) {//复制指定区间元素从下表1开始复制复制下标4之前的元素int[] numbers {1,2,3,4,5,6,7};int[] arr03Arrays.copyOfRange(numbers, 1,4);System.out.println(指定区间元素Arrays.toString(arr03));System.out.println(arr03);//复制后五个元素指定下标开始复制到数组末尾int[] arr04Arrays.copyOfRange(numbers, 2,numbers.length5);System.out.println(后五个元素Arrays.toString(arr04));System.out.println(arr04);}}
输出结果
指定区间元素[2, 3, 4]
[I515f550a
后五个元素[3, 4, 5, 6, 7, 0, 0, 0, 0, 0]
[I626b2d4a 5.源代码解读 Arrays.copyOfRange( ) 通过传入参数原数组 开始复制的位置 结束位置返回一个int 类型的数组计算新数组的长度 如果新数组的长度小于 0 时 则抛出非法参数异常IllegalArgumentException因为from参数大于to参数这是一个不合法的范围当新数组的长度大于 0 时创建一个新的数组int[ ] copy:长度为newLength,用于存放复制过来的元素然后通过System.arraycopy( )方法,将原数组中的元素复制到copy数组中。 五、Arrays.fill( )
1.作用Arrays.fill( )的作用是数组的填充将一个数组填充为目标数组
2.参数
参数1一个数组
参数2填充的数字
3.返回值没有返回值 void
4.举例
package com.ztt.Demo02;import java.util.Arrays;public class demo06 {public static void main(String[] args) {//数组填充int[] number1 {9,8,7};System.out.println(填充前Arrays.toString(number1));Arrays.fill(number1, -1);System.out.println(填充后Arrays.toString(number1));int[] number2new int[3];System.out.println(填充前Arrays.toString(number2));Arrays.fill(number2, -1);System.out.println(填充后Arrays.toString(number2));}}
输出结果
填充前[9, 8, 7]
填充后[-1, -1, -1]
填充前[0, 0, 0]
填充后[-1, -1, -1] 5.源代码解读 Arrays.fill( )通过传入参数 一个数组 填充的数字没有返回值使用for循环遍历数组a,将数组a中的每一个元素设置为val。 六、Arrays.sort( )
1.作用Arrays.sort( ) 的作用是对数组进行排序快速排序
2.参数需要排序的数组
3.返回值没有返回值 void
4.举例
package com.ztt.Demo02;import java.util.Arrays;public class demo07 {public static void main(String[] args) {int[] number{6,8,9,7,1};System.out.println(排序前Arrays.toString(number));Arrays.sort(number);System.out.println(排序后Arrays.toString(number));}}import java.util.Arrays;public class demo09 {public static void main(String[] args) {// 通过Arrays工具类的sort()方法char[] arr {l,k,j,h,g,f,d,s,a};System.out.println(arr);Arrays.sort(arr);System.out.println(arr);}}
输出结果
排序前[6, 8, 9, 7, 1]
排序后[1, 6, 7, 8, 9]lkjhgfdsa
adfghjkls 5.源代码解读 Arrays.sort( )通过传入一个需要排序的数组返回值为void方法中调用了DualPivotQuicksort类的sort()方法。 七、Arrays.toString( )
1.作用Arrays.toString( )的作用是将数组转换为字符串的形式表示查看数组的内容。
2.参数一个数组
3.返回值字符串
4.举例
import java.util.Arrays;public class demo06 {public static void main(String[] args) {//无序数组int[] numbers {1,2,9,4,5,7};System.out.println(Arrays.toString(numbers));}
}
输出结果
[1, 2, 9, 4, 5, 7] 5.源代码解读 Arrays.toString( )通过传入一个整数数组a作为参数并返回一个字符串。由于它是静态的你不需要创建类的实例就可以调用这个方法。 判断传入的数组a是null则方法直接返回字符串null。计算数组中最后一个元素的下标a.length - 1并将其存储在变量iMax中。然后如果iMax等于-1即数组为空则方法返回字符串[ ]。 创建一个StringBuilder对象b用于构建数组的字符串表示。StringBuilder是一个可变对象用于高效地构建和修改字符串。向StringBuilder对象b追加左方括号[表示数组的开始。for遍历数组,向StringBuilder对象b追加数组a的第i个元素。检查当前索引i是否等于最后一个元素的索引iMax。如果是则向StringBuilder对象b追加右方括号]并将StringBuilder转换为字符串返回。如果当前元素不是最后一个元素则在追加当前元素后还向StringBuilder对象b追加逗号和空格。