Arrays静态方法
来源:互联网 发布:淘宝合并购物车 编辑:程序博客网 时间:2024/06/09 23:44
Arrays静态方法
在java的编程实践中,在很多地方会用到Arrays的静态方法,总结一下,以便翻阅
sort方法
版本一
sort(T [] a);
一般数字按大小排序, 字母按照字典序排序(小写字母大于大写字母)
版本二
sort(T[] a,Comparator<? super T> c)
可以自己自定义按照那种标准进行排序, 通过实现Comparator接口
的compare函数实现自定义的标准
- 代码
版本一:
import java.util.Arrays;public class Solution { public static void main(String args[]) { int []a = {3, 2, 4, 5, 1}; String [] b = {"zC", "ZC", "abD", "abd", "cc", "bc"}; System.out.println("Before sorting: "); System.out.println(Arrays.toString(a)); System.out.println(Arrays.toString(b)); Arrays.sort(a); Arrays.sort(b); System.out.println("After sorting: "); System.out.println(Arrays.toString(a)); System.out.println(Arrays.toString(b)); }}/* 输出:Before sorting: [3, 2, 4, 5, 1][zC, ZC, abD, abd, cc, bc]After sorting: [1, 2, 3, 4, 5][ZC, abD, abd, bc, cc, zC] */
版本二:
import java.util.Arrays;import java.util.Comparator;public class Solution { class Student { public int age; public String name; public Student(int age, String name) { this.age = age; this.name = name; } @Override public String toString(){ return name; } } public static void main(String args[]) { Solution solution = new Solution(); Student[] array = { /*实例化内部类*/ solution.new Student(12, "ZHOU YU"), solution.new Student(14, "LI MING"), solution.new Student(11, "WANG HUA"), solution.new Student(13, "NIU TIAN") }; Arrays.sort(array, new Comparator<Student>(){ @Override public int compare(Student a, Student b) { return a.name.compareTo(b.name); } }); System.out.println(Arrays.toString(array)); Arrays.sort(array, new Comparator<Student>(){ @Override public int compare(Student a, Student b) { return a.age > b.age ? 1 :(a.age == b.age ? 0 : -1); } }); System.out.println(Arrays.toString(array)); }}/* 输出:[LI MING, NIU TIAN, WANG HUA, ZHOU YU][WANG HUA, ZHOU YU, NIU TIAN, LI MING] */
fill方法
fill(T[]a, T value)
例如
fill(boolean[]a, true);
数组里面元素权威false, 有时候初始化数组很有用binarySearch方法
binarySearch(T[]a, T key)
binarySearch(int[]a, 12)
缺点:
- 必须是先排好序的数组
- 对于排好序的对象数组,必须提供相同的comparator接口
代码:
import java.util.Arrays;public class Solution {public static void main(String args[]) { int[] a = {3, 2, 4, 1, 5}; Arrays.sort(a); System.out.println(Arrays.binarySearch(a, 1));}}/*结果:0*/
System.arraycopy方法(和strcpy很相, 但这是针对数组的)
五个参数 1: 源地址 2: 源地址复制的偏移量 3: 目的地址 4:目的地址的偏移量 5: 复制长度
代码:
int[] a = new int[5];int[] b = new int[8];Arrays.fill(a, 5);Arrays.fill(b, 8);System.arraycopy(a, 0, b, 0, a.length);/*b数组:[5, 5, 5, 5, 5, 8, 8, 8]*/
阅读全文
0 0
- Arrays静态方法
- java.util.Arrays 静态方法
- Arrays.asList方法总结
- Arrays.asList()方法介绍
- Arrays中的一些方法
- Arrays.fill()填充方法
- Arrays.asList()方法使用
- Arrays.asList()方法注意
- 认识Arrays.asList方法
- Arrays.asList方法总结
- Arrays的addList方法
- Arrays类常用方法
- Arrays.asList方法总结
- Arrays.asList方法总结
- Arrays.asList方法总结
- Arrays常用方法
- Arrays.asList方法总结
- Arrays.asList方法
- 2017多校4 1011 Time To Get Up
- HDUOJ Let the Balloon Rise
- 解决浏览器会产生缓存的问题
- POJ 2513 Colored Sticks 好题 字典树+并查集+欧拉路
- 线程分组 | 守护线程 | 线程优先级
- Arrays静态方法
- SDPhotoBrowser 详细介绍 非常简单易用的图片浏览器,模仿微博图片有源码例子
- C++实现俄罗斯方块源码分享(Windows编程),有图形界面
- linux 中IO多路复用epoll函数的ET和LT工作模式详解
- 会场预约
- 递归转动态规划
- ContextLoaderListener作用详解
- java常用类的方法总结---String类
- HDU 1716 排列2 + poj 1833