Array工具类方法
Arrays工具类
自己写的ArrayTool功能较弱,在jdk中早就已经提供了,使用jdk中已经提供好的类型使用即可。Arrays。
1、使用val值,将arr数组填充满
fill(int[] arr, int val)
2、在arr数组中,查询key元素的索引
binarySearch(int[] arr, int key)
前提:数组本身是升序排列
效率:高于全部遍历
3、比较arr1和arr2数组中的元素是否全部相等
equals(int[] arr1, int[] arr2)
4、将arr数组进行升序排序
sort(int[] arr)
5、将arr数组中的数据,都以字符串的形式显示出来
toString(int[] arr)
6、boolean equals(array1,array2):比较两个数组是否相等
代码示例:
String[] str1={"1","2","3"};
String[] str2={"1","2",new String("3")};
System.out.println(Arrays.equals(str1, str2));//true
7、String toString(array):把数组array转换成一个字符串
Arrays.toString(a)
8、int binarySearch(array,val):查询元素值val在数组array中的下标
使用二分搜索算法在指定的数组中搜索指定的值,并返回该值所在索引位置;若查询不到,则返回-1
代码示例:
char[] a={'a','b','c','d','e'};
int i = Arrays.binarySearch(a, 'd');
System.out.println(i);//i=3
9、copyof(array,length):把数组array复制成一个长度为length的新数组。
int[] a={1,2,3,6,8};
int[] b=Arrays.copyOf(a, a.length);
System.out.println(Arrays.toString(b));
10、equals(int[] a, int[] b)方法:判断两个数组是否相等
11、Arrays.asList(Arr)数组转换成ArrayList
String[] stringArray = { "o", "i", "u", "y", "t" };
ArrayList<String> arrayList = new
ArrayList<String>(Arrays.asList(stringArray));
12、contains数组中是否包含值
String[] stringArray = { "a", "b", "c", "d", "e" };
boolean b = Arrays.asList(stringArray).contains("a"); //true
13、addAll合并连接两个数组
int[] Array = { 1, 2, 3, 4, 5 };
int[] Array2 = { 6, 7, 8, 9, 10 };
int[] Array3 = ArrayUtils.addAll(Array, Array2);
14、将ArrayList转换为数组
String[] Array = { "a", "b", "c", "d", "e" };
ArrayList<String> arrayList = new ArrayList<String>(Arrays.asList(Array));
String[] stringArr = new String[arrayList.size()];
arrayList.toArray(stringArr);
15、将数组转换成set
Set<String> set = new HashSet<String>(Arrays.asList(stringArray));
16、reverse数组翻转
int[] intArray = { 1, 2, 3, 4, 5 };
ArrayUtils.reverse(intArray);
17、removeElement(arr,index)移除元素
int[] intArray = { 1, 2, 3, 4, 5 };
int[] removed = ArrayUtils.removeElement(intArray, 3);//创建新的数组
18、转换int为字节数组
byte[] bytes = ByteBuffer.allocate(4).putInt(8).array();