Java多维数组和Arrays类方法总结详解
一.数组的三种声明方式总结
public class WhatEver { public static void main(String[] args) { //第一种 例: String[] test1 = new String[6]; test1[0] = "数组0"; test1[1] = "数组1"; //第二种 例: String[] test2 = {"数组0","数组1","数组2","...."}; //第三种 例: String[] test3 = new String[]{"数组0","数组1","数组2","...."}; } }<br><br>
二.多维数组的遍历/二维数组
/二维数组 public class Test1 { public static void main(String[] args) { int[] score1=new int[10]; int[][] score2; String[][] names; //二维数组的初始化 score2=new int[][]{{1,2,3},{3,4,5,6},{16,7}};//静态初始化 names=new String[6][5];//动态初始化方式一 names=new String[6][];//动态初始化方式二,一定要设置行数 names[0]=new String[5];//第一行中有5个元素 names[1]=new String[4]; names[2]=new String[7]; names[3]=new String[5]; names[4]=new String[8]; names[5]=new String[5]; System.out.println("第一行中的元素:"+names[1].length); System.out.println(names.length);//打印的是二维数组有几行 //如何遍历二维数组 for(int m=0;m<score2.length;m++){//控制行数 for(int n=0;n<score2[m].length;n++){//一行中有多少个元素(即多少列) System.out.print(score2[m][n]+" "); } System.out.println(); } } }
三. Arrays类的常用方法总结
java.util.Arrays类能方便地操作数组,它提供的所有方法都是静态的。
3.1 asList()方法
返回一个受指定数组支持的固定大小的列表。
此方法还提供了一个创建固定长度(不可修改的数组 同singletonList)的列表的便捷方法,该列表被初始化为包含多个元素:
List stooges = Arrays.asList("Larry", "Moe", "Curly");
@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);
3.2 copyOf()及copyOfRange方法
copyOf(int[] original, int newLength)
复制指定的数组,截取或用 0 填充(如有必要),以使副本具有指定的长度。
copyOfRange(int[] original, int from, int to)
将指定数组的指定范围复制到一个新数组。
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);
3.3 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); }
返回指定数组内容的字符串表示形式。
String[] arg = {"a", "b", "c", "d"}; // 结果 [a, b, c, d] System.out.print(Arrays.toString(arg));
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
相关文章
StringUtils中的isEmpty、isNotEmpty、isBlank和isNotBlank的区别详解
这篇文章主要介绍了StringUtils中的isEmpty、isNotEmpty、isBlank和isNotBlank的区别详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2020-06-06netty服务端辅助类ServerBootstrap创建逻辑分析
这篇文章主要介绍了netty服务端辅助类ServerBootstrap创建逻辑分析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2022-03-03SpringBoot-application.yml多环境配置详解
本文主要介绍了SpringBoot-application.yml多环境配置详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2022-07-07SpringBoot2.x过后static下的静态资源无法访问的问题
这篇文章主要介绍了SpringBoot2.x过后static下的静态资源无法访问的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2023-01-01
最新评论