Arrays用法整理
来源:互联网 发布:网络用语mmp是什么意思 编辑:程序博客网 时间:2024/06/07 00:23
本文将整理java.util.Arrays工具类比较常用的方法:
本文介绍的方法基于JDK 1.7 之上。
1. asList方法
使用该方法可以返回一个固定大小的List,如:
2. binarySearch方法
binarySearch方法支持在整个数组中查找,如:
以及在某个区间范围内查找, 如:
3. copyOf及copyOfRange方法
如:
4. sort方法
另外,Arrays的sort方法也可以结合比较器,完成更加复杂的排序。
5. toString方法
Arrays的toString方法可以方便我们打印出数组内容。
如:
控制台将打印出 [Alan, Eric, John, Liz]
6. deepToString方法
如果需要打印二维数组的内容:
int[][] stuGrades = { { 80, 81, 82 }, { 84, 85, 86 }, { 87, 88, 89 } };
如果直接用那么得到的结果类似于
[[I@35ce36, [I@757aef, [I@d9f9c3]}
这个时候得用deepToString方法才能得到正确的结果[[80, 81, 82], [84, 85, 86], [87, 88, 89]]
7. equals方法
使用Arrays.equals来比较1维数组是否相等。
8. deepEquals方法
Arrays.deepEquals能够去判断更加复杂的数组是否相等。
9. fill方法
本文介绍的方法基于JDK 1.7 之上。
1. asList方法
- @SafeVarargs
- public static <T> List<T> asList(T... a) {
- return new ArrayList<>(a);
- }
使用该方法可以返回一个固定大小的List,如:
- List<String> stringList = Arrays.asList("Welcome", "To", "Java",
- "World!");
- List<Integer> intList = Arrays.asList(1, 2, 3, 4);
2. binarySearch方法
binarySearch方法支持在整个数组中查找,如:
- int index = Arrays.binarySearch(new int[] { 1, 2, 3, 4, 5, 6, 7 }, 6);
以及在某个区间范围内查找, 如:
- public static int binarySearch(int[] a, int fromIndex, int toIndex,
- int key) {
- rangeCheck(a.length, fromIndex, toIndex);
- return binarySearch0(a, fromIndex, toIndex, key);
- }
- int index = Arrays.binarySearch(new int[] { 1, 2, 3, 4, 5, 6, 7 }, 1, 6, 6);
3. copyOf及copyOfRange方法
如:
- String[] names2 = { "Eric", "John", "Alan", "Liz" };
- //[Eric, John, Alan]
- String[] copy = Arrays.copyOf(names2, 3);
- //[Alan, Liz]
- String[] rangeCopy = Arrays.copyOfRange(names2, 2,
- names2.length);
4. sort方法
- String[] names = { "Liz", "John", "Eric", "Alan" };
- //只排序前两个
- //[John, Liz, Eric, Alan]
- Arrays.sort(names, 0, 2);
- //全部排序
- //[Alan, Eric, John, Liz]
- Arrays.sort(names);
另外,Arrays的sort方法也可以结合比较器,完成更加复杂的排序。
- public static <T> void sort(T[] a, Comparator<? super T> c) {
- if (LegacyMergeSort.userRequested)
- legacyMergeSort(a, c);
- else
- TimSort.sort(a, c);
- }
5. toString方法
Arrays的toString方法可以方便我们打印出数组内容。
如:
- String[] names = { "Liz", "John", "Eric", "Alan" };
- Arrays.sort(names);
- System.out.println(Arrays.toString(names));
控制台将打印出 [Alan, Eric, John, Liz]
6. deepToString方法
如果需要打印二维数组的内容:
int[][] stuGrades = { { 80, 81, 82 }, { 84, 85, 86 }, { 87, 88, 89 } };
如果直接用
- System.out.println(Arrays.toString(stuGrades));
[[I@35ce36, [I@757aef, [I@d9f9c3]}
这个时候得用deepToString方法才能得到正确的结果[[80, 81, 82], [84, 85, 86], [87, 88, 89]]
- System.out.println(Arrays.deepToString(stuGrades));
7. equals方法
使用Arrays.equals来比较1维数组是否相等。
- String[] names1 = { "Eric", "John", "Alan", "Liz" };
- String[] names2 = { "Eric", "John", "Alan", "Liz" };
- System.out.println(Arrays.equals(names1, names2));
8. deepEquals方法
Arrays.deepEquals能够去判断更加复杂的数组是否相等。
- int[][] stuGrades1 = { { 80, 81, 82 }, { 84, 85, 86 }, { 87, 88, 89 } };
- int[][] stuGrades2 = { { 80, 81, 82 }, { 84, 85, 86 }, { 87, 88, 89 } };
- System.out.println(Arrays.deepEquals(stuGrades1, stuGrades2));
9. fill方法
- int[] array1 = new int[8];
- Arrays.fill(array1, 1);
- //[1, 1, 1, 1, 1, 1, 1, 1]
- System.out.println(Arrays.toString(array1));
文章转自:http://mouselearnjava.iteye.com/blog/1985990?utm_source=tuicool&utm_medium=referral
0 0
- Arrays用法整理
- Arrays用法整理
- Arrays用法整理
- Arrays用法整理
- Arrays用法整理
- arrays.sort用法arrays.fill用法arrays.equals用法
- Arrays.sort()的用法
- arrays类常见用法
- Arrays.binarySearch用法
- Arrays.sort用法
- Arrays.asList的用法:
- Arrays类的用法
- Arrays.asList的用法
- Arrays.copyof的用法
- Arrays.copyOf() 用法:
- java -> Arrays.asList()用法
- Arrays.toString() 的用法
- Arrays.copyOfRange的用法
- 码农小汪-设计模式之-Builder模式
- C++ Primer Plus编程练习 7.13-3
- JSON基本知识
- 现在的我
- android:shape 属性(一)
- Arrays用法整理
- 大整数相乘
- 项目22--友元类
- java数据结构和算法目录(持续更新中)
- easyUI框架下实现日期按年,年月,年月日方式显示
- 第七周项目2友元类
- 搜狐 扎金花
- 【bzoj4514】[Sdoi2016]数字配对 费用流
- DOM启蒙——第三章