数组的三种声明方式总结、多维数组的遍历、Arrays类的常用方法总结
1. 数组的三种声明方式
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","...."}; } }
2.多维数组的遍历
//二维数组 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(); } } }
3.Arrays类的常用方法总结
3.1 asList()方法
1 @SafeVarargs 2 public static <T> List<T> asList(T... a) { 3 return new ArrayList<>(a); 4 }
使用该方法可以返回一个固定大小的List,如:
1 List<String> stringList = Arrays.asList("Welcome", "To", "Java", 2 "World!"); 3 4 List<Integer> intList = Arrays.asList(1, 2, 3, 4);
3.2 copyOf()及copyOfRange方法
1 String[] names2 = { "Eric", "John", "Alan", "Liz" }; 2 3 4 //[Eric, John, Alan] 5 String[] copy = Arrays.copyOf(names2, 3); 6 7 //[Alan, Liz] 8 String[] rangeCopy = Arrays.copyOfRange(names2, 2, 9 names2.length);
3.3 sort()方法
1 String[] names = { "Liz", "John", "Eric", "Alan" }; 2 //只排序前两个 3 //[John, Liz, Eric, Alan] 4 Arrays.sort(names, 0, 2); 5 //全部排序 6 //[Alan, Eric, John, Liz] 7 Arrays.sort(names);
另外,Arrays的sort方法也可以结合比较器,完成更加复杂的排序。
1 public static <T> void sort(T[] a, Comparator<? super T> c) { 2 if (LegacyMergeSort.userRequested) 3 legacyMergeSort(a, c); 4 else 5 TimSort.sort(a, c); 6 }
3.4 toString()方法
Arrays的toString方法可以方便我们打印出数组内容。
如:
1 2 3 | String[] names = { "Liz" , "John" , "Eric" , "Alan" }; Arrays.sort(names); System.out.println(Arrays.toString(names)); |
控制台将打印出 [Alan, Eric, John, Liz]

作者:泰斗贤若如
微信公众号:去有风的地方飞翔
Github:https://github.com/zyx110
有事微信:zyxt1637039050
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利。

我不能保证我所说的都是对的,但我能保证每一篇都是用心去写的,我始终认同: “分享的越多,你的价值增值越大”,我们一同在分享中进步,在分享中成长,越努力越幸运。再分享一句话“十年前你是谁,一年前你是谁,甚至昨天你是谁,都不重要。重要的是,今天你是谁,以及明天你将成为谁。”
人生赢在转折处,改变从现在开始!
支持我的朋友们记得点波推荐哦,您的肯定就是我前进的动力。
分类:
【3.Java学习笔记】
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?