Arrays类的使用
来源:互联网 发布:origin有没有mac版 编辑:程序博客网 时间:2024/06/05 03:31
System下的arraycopy方法:
System.arraycopy(src, srcPos, dest, destPos, length) //src: 源数组 //srcPos: 从源数组复制数据的启始位置 //dest: 目标数组 //destPos: 复制到目标数组的启始位置 //length: 复制的长度 System.arraycopy(a,0, b, 0,3);
Arrays是针对数组的工具类,可以进行 排序,查找,复制填充等功能。 大大提高了开发人员的工作效率。
- 数组复制
与使用System.arraycopy进行数组复制类似的, Arrays提供了一个copyOfRange方法进行数组复制。
不同的是System.arraycopy,需要事先准备好目标数组,并分配长度。 copyOfRange 只需要源数组就就可以了,通过返回值,就能够得到目标数组了。
除此之外,需要注意的是 copyOfRange 的第3个参数,表示源数组的结束位置,是取不到的。
不同的是System.arraycopy,需要事先准备好目标数组,并分配长度。 copyOfRange 只需要源数组就就可以了,通过返回值,就能够得到目标数组了。
除此之外,需要注意的是 copyOfRange 的第3个参数,表示源数组的结束位置,是取不到的。
import java.util.Arrays; public class HelloWorld { public static void main(String[] args) { int a[] = new int[] { 18, 62, 68, 82, 65, 9 }; // copyOfRange(int[] original, int from, int to) // 第一个参数表示源数组 // 第二个参数表示开始位置(取得到) // 第三个参数表示结束位置(取不到) int[] b = Arrays.copyOfRange(a, 0, 3); for (int i = 0; i < b.length; i++) { System.out.print(b[i] + " "); } }}
- 转换为字符串
但是Arrays提供了一个toString()方法,直接把一个数组,转换为字符串,这样方便观察数组的内容
import java.util.Arrays; public class HelloWorld { public static void main(String[] args) { int a[] = new int[] { 18, 62, 68, 82, 65, 9 }; String content = Arrays.toString(a); System.out.println(content); }}
- 排序
import java.util.Arrays; public class HelloWorld { public static void main(String[] args) { int a[] = new int[] { 18, 62, 68, 82, 65, 9 }; System.out.println("排序之前 :"); System.out.println(Arrays.toString(a)); Arrays.sort(a); System.out.println("排序之后:"); System.out.println(Arrays.toString(a)); }}
- 搜索
查询元素出现的位置
需要注意的是,使用binarySearch进行查找之前,必须使用sort进行排序
如果数组中有多个相同的元素,查找结果是不确定的
需要注意的是,使用binarySearch进行查找之前,必须使用sort进行排序
如果数组中有多个相同的元素,查找结果是不确定的
import java.util.Arrays; public class HelloWorld { public static void main(String[] args) { int a[] = new int[] { 18, 62, 68, 82, 65, 9 }; Arrays.sort(a); System.out.println(Arrays.toString(a)); //使用binarySearch之前,必须先使用sort进行排序 System.out.println("数字 62出现的位置:"+Arrays.binarySearch(a, 62)); }}
- 判断是否相同
第二个数组的最后一个元素是8,和第一个数组不一样,所以比较结果是false
import java.util.Arrays; public class HelloWorld { public static void main(String[] args) { int a[] = new int[] { 18, 62, 68, 82, 65, 9 }; int b[] = new int[] { 18, 62, 68, 82, 65, 8 }; System.out.println(Arrays.equals(a, b)); }}
- 填充
使用同一个值,填充整个数组
import java.util.Arrays; public class HelloWorld { public static void main(String[] args) { int a[] = new int[10]; Arrays.fill(a, 5); System.out.println(Arrays.toString(a)); }}
- 综合应用
package sort;import java.util.Arrays;/** * * @ClassName: sort * @Description: Arrays的应用 * @author litengbin * @date 2017年12月11日 * */public class sort {public static void main(String[] args) {int row = 5;int col = 8;int[][] arr = new int[row][col];/** * 赋值 */for (int i = 0; i < row; i++) {for (int j = 0; j < col; j++) {arr[i][j] = (int) (Math.random() * 100);}}int[] temp = new int[row * col];int k = 0;/** * 遍历arr */for (int[] a : arr) {System.out.println(Arrays.toString(a));System.arraycopy(a, 0, temp, k, col);//复制到tempk += col;}/** * 排序 */Arrays.sort(temp);String content = Arrays.toString(temp);System.out.println(content);k = 0;/** * 遍历arr */for (int[] b : arr) {System.arraycopy(temp, k, b, 0, col);//复制到arrSystem.out.println(Arrays.toString(b));k += col;}}}
阅读全文
0 0
- Arrays类的使用
- Arrays类的使用
- Arrays工具类的使用
- Java Arrays类的使用
- java Arrays类的使用
- Arrays类操作数组的使用
- java中Arrays类的简单使用
- Arrays的使用
- Arrays.asList的使用
- Arrays类—Arrays.asList()方法使用
- 数组资源(arrays)的使用
- 数组资源(arrays)的使用
- 数据算法--Arrays的使用
- Arrays.asList()方法的使用
- Java之Arrays的使用
- android Arrays.fill()的使用
- Arrays.asList()方法的使用
- Arrays工具类的asList()方法的使用
- springmvc定时任务同时启动多个线程
- LeetCode671. Second Minimum Node In a Binary Tree
- 【BZOJ 2152 聪聪可可】【点分治 + 一个套路】
- 再接着介绍一下Python呗(12/11)
- 例题9-1 城市里的间谍(A Spy in the Metro, ACM/ICPC World Finals 2003, UVa1025)
- Arrays类的使用
- 信号与槽精讲
- java--线程--有返回值的线程
- 初学java自定义异常对象的使用
- C# Chart各个属性详细解析、应用
- InstallMate许可
- iscsi
- python函数—filter,map,keys
- 谱聚类(Spectral Clustering)