网站模块有哪些建设银行官网官方网站

张小明 2026/1/19 20:56:02
网站模块有哪些,建设银行官网官方网站,重庆网站建设公司那家好,做淘宝客网站备案要怎么写Java 中的 Arrays 类#xff0c;它是 java.util 包下提供的数组操作工具类#xff0c;包含了大量静态方法#xff0c;用于简化数组的排序、查找、填充、复制、比较等常见操作#xff0c;无需手动编写复杂逻辑#xff0c;下面按功能分类讲解核心常用方法及使用示例#xf…Java 中的Arrays类它是java.util包下提供的数组操作工具类包含了大量静态方法用于简化数组的排序、查找、填充、复制、比较等常见操作无需手动编写复杂逻辑下面按功能分类讲解核心常用方法及使用示例一、核心特性Arrays是工具类所有方法均为static修饰直接通过Arrays.方法名()调用无需创建对象支持所有基本数据类型数组int[]、char[]等和引用数据类型数组String[]、Object[]等部分方法如排序、二分查找对引用数据类型数组支持自定义比较器JDK 8。二、常用方法分类详解1. 数组排序sort()用于对数组进行升序排序默认支持基本类型数组和引用类型数组引用类型数组默认按自然顺序排序。1基本类型数组排序import java.util.Arrays; public class ArraysDemo { public static void main(String[] args) { // int 数组排序 int[] intArr {3, 1, 4, 1, 5, 9}; Arrays.sort(intArr); System.out.println(int 数组升序排序 Arrays.toString(intArr)); // 输出[1, 1, 3, 4, 5, 9] // char 数组排序 char[] charArr {c, a, b, z}; Arrays.sort(charArr); System.out.println(char 数组升序排序 Arrays.toString(charArr)); // 输出[a, b, c, z] } }2指定范围排序sort(int[] a, int fromIndex, int toIndex)对数组从fromIndex包含到toIndex不包含的区间进行排序。int[] arr {9, 8, 7, 6, 5, 4}; Arrays.sort(arr, 1, 4); // 排序索引 1~3 的元素 System.out.println(指定范围排序 Arrays.toString(arr)); // 输出[9, 6, 7, 8, 5, 4]3引用类型数组排序自定义比较器JDK 8通过Comparator实现自定义排序规则如降序、按字符串长度排序。// String 数组按长度降序排序 String[] strArr {Java, Python, C, JavaScript}; Arrays.sort(strArr, (s1, s2) - s2.length() - s1.length()); System.out.println(按字符串长度降序 Arrays.toString(strArr)); // 输出[JavaScript, Python, Java, C] // Integer 数组降序排序 Integer[] integerArr {3, 1, 4, 2}; Arrays.sort(integerArr, (a, b) - b - a); System.out.println(Integer 数组降序 Arrays.toString(integerArr)); // 输出[4, 3, 2, 1]2. 数组查找binarySearch()基于二分查找算法查找指定元素在数组中的索引注意使用前必须先对数组进行排序否则结果不确定。1基本用法int[] arr {1, 3, 5, 7, 9}; // 1. 查找存在的元素 int index1 Arrays.binarySearch(arr, 5); System.out.println(元素 5 的索引 index1); // 输出2 // 2. 查找不存在的元素 // 返回值规则-(插入点) - 1插入点是元素应该插入的位置保持数组有序 int index2 Arrays.binarySearch(arr, 6); System.out.println(元素 6 的索引不存在 index2); // 输出-4插入点为 3-(3)-1-42指定范围查找binarySearch(int[] a, int fromIndex, int toIndex, int key)在指定区间内查找元素。int[] arr {1, 3, 5, 7, 9}; int index Arrays.binarySearch(arr, 1, 4, 7); // 在索引 1~3 区间查找 7 System.out.println(指定范围查找 7 的索引 index); // 输出33. 数组转换为字符串toString()将数组转换为友好的字符串格式[元素1, 元素2, ...]方便打印输出避免直接打印数组得到内存地址。// 基本类型数组 int[] intArr {1, 2, 3}; System.out.println(int 数组字符串 Arrays.toString(intArr)); // 输出[1, 2, 3] // 引用类型数组 String[] strArr {Java, Arrays}; System.out.println(String 数组字符串 Arrays.toString(strArr)); // 输出[Java, Arrays] // 二维数组使用 deepToString() int[][] twoDArr {{1, 2}, {3, 4}}; System.out.println(二维数组字符串 Arrays.deepToString(twoDArr)); // 输出[[1, 2], [3, 4]]注意一维数组用toString()多维数组用deepToString()否则多维数组会打印出子数组的内存地址。4. 数组填充fill()将指定值填充到数组的全部元素或指定区间的元素中用于快速初始化数组。1填充全部元素int[] arr new int[5]; Arrays.fill(arr, 10); // 将所有元素填充为 10 System.out.println(全部填充 10 Arrays.toString(arr)); // 输出[10, 10, 10, 10, 10]2填充指定区间元素fill(int[] a, int fromIndex, int toIndex, int val)填充从fromIndex包含到toIndex不包含的元素。int[] arr new int[5]; Arrays.fill(arr, 1, 4, 20); // 填充索引 1~3 的元素为 20 System.out.println(指定区间填充 20 Arrays.toString(arr)); // 输出[0, 20, 20, 20, 0]5. 数组复制copyOf()copyOfRange()用于快速复制数组避免手动使用循环复制效率更高。1copyOf()复制数组的前 N 个元素或扩容 / 缩容数组int[] srcArr {1, 2, 3, 4, 5}; // 1. 复制前 3 个元素 int[] copy1 Arrays.copyOf(srcArr, 3); System.out.println(复制前 3 个元素 Arrays.toString(copy1)); // 输出[1, 2, 3] // 2. 扩容数组长度大于原数组多余元素用默认值填充 int[] copy2 Arrays.copyOf(srcArr, 8); System.out.println(扩容数组 Arrays.toString(copy2)); // 输出[1, 2, 3, 4, 5, 0, 0, 0] // 3. 缩容数组长度小于原数组截取前 N 个元素 int[] copy3 Arrays.copyOf(srcArr, 2); System.out.println(缩容数组 Arrays.toString(copy3)); // 输出[1, 2]2copyOfRange()复制指定区间的元素int[] srcArr {1, 2, 3, 4, 5}; // 复制索引 1~3 的元素fromIndex 包含toIndex 不包含 int[] copyRange Arrays.copyOfRange(srcArr, 1, 4); System.out.println(复制指定区间元素 Arrays.toString(copyRange)); // 输出[2, 3, 4]6. 数组比较equals()deepEquals()用于比较两个数组是否相等元素数量相同、对应位置元素也相同。1equals()比较一维数组int[] arr1 {1, 2, 3}; int[] arr2 {1, 2, 3}; int[] arr3 {1, 3, 2}; System.out.println(arr1 与 arr2 相等 Arrays.equals(arr1, arr2)); // 输出true System.out.println(arr1 与 arr3 相等 Arrays.equals(arr1, arr3)); // 输出false2deepEquals()比较多维数组int[][] twoDArr1 {{1, 2}, {3, 4}}; int[][] twoDArr2 {{1, 2}, {3, 4}}; int[][] twoDArr3 {{1, 3}, {2, 4}}; System.out.println(二维数组 twoDArr1 与 twoDArr2 相等 Arrays.deepEquals(twoDArr1, twoDArr2)); // 输出true System.out.println(二维数组 twoDArr1 与 twoDArr3 相等 Arrays.deepEquals(twoDArr1, twoDArr3)); // 输出false注意比较的是数组的内存地址Arrays.equals()/deepEquals()比较的是数组的元素内容。7. 数组转集合asList()将数组转换为List集合注意返回的是固定大小的ArrayList不能添加 / 删除元素。// 基本类型数组转换注意需使用包装类数组否则会将整个数组作为一个元素 Integer[] intArr {1, 2, 3}; ListInteger list1 Arrays.asList(intArr); System.out.println(包装类数组转 List list1); // 输出[1, 2, 3] // 引用类型数组转换 String[] strArr {Java, Arrays}; ListString list2 Arrays.asList(strArr); System.out.println(String 数组转 List list2); // 输出[Java, Arrays] // 错误示例基本类型数组直接转换 int[] primitiveArr {1, 2, 3}; Listint[] list3 Arrays.asList(primitiveArr); System.out.println(基本类型数组错误转换 list3); // 输出[[Ixxxxxx]数组作为单个元素注意若需要可修改的 List可通过new ArrayList(Arrays.asList(arr))包装。三、完整使用示例import java.util.Arrays; import java.util.Comparator; import java.util.List; public class ArraysCompleteDemo { public static void main(String[] args) { // 1. 数组初始化 int[] baseArr {5, 2, 9, 1, 5, 6}; System.out.println(原始数组 Arrays.toString(baseArr)); // 2. 排序 Arrays.sort(baseArr); System.out.println(升序排序后 Arrays.toString(baseArr)); // 3. 二分查找 int target 5; int index Arrays.binarySearch(baseArr, target); System.out.println(元素 target 的索引 index); // 4. 数组复制 int[] copyArr Arrays.copyOf(baseArr, 4); System.out.println(复制前 4 个元素 Arrays.toString(copyArr)); // 5. 数组填充 int[] fillArr new int[5]; Arrays.fill(fillArr, 1, 4, 8); System.out.println(指定区间填充 8 Arrays.toString(fillArr)); // 6. 数组比较 int[] compareArr1 {1, 2, 5, 5}; int[] compareArr2 {1, 2, 5, 5}; System.out.println(两个数组是否相等 Arrays.equals(compareArr1, compareArr2)); // 7. 多维数组操作 int[][] twoDArr {{3, 1}, {2, 4}}; System.out.println(二维数组原始格式 Arrays.deepToString(twoDArr)); // 二维数组排序每行排序 for (int[] subArr : twoDArr) { Arrays.sort(subArr); } System.out.println(二维数组每行排序后 Arrays.deepToString(twoDArr)); // 8. 数组转 List String[] strArr {Spring, Boot, Java}; ListString strList Arrays.asList(strArr); System.out.println(数组转 List strList); } }运行结果原始数组[5, 2, 9, 1, 5, 6] 升序排序后[1, 2, 5, 5, 6, 9] 元素 5 的索引2 复制前 4 个元素[1, 2, 5, 5] 指定区间填充 8[0, 8, 8, 8, 0] 两个数组是否相等true 二维数组原始格式[[3, 1], [2, 4]] 二维数组每行排序后[[1, 3], [2, 4]] 数组转 List[Spring, Boot, Java]四、核心总结Arrays是java.util包下的静态工具类所有方法直接通过Arrays.方法名()调用核心功能分类排序sort()默认升序支持自定义比较器查找binarySearch()需先排序基于二分查找格式化toString()一维数组、deepToString()多维数组填充fill()快速初始化数组元素复制copyOf()复制前 N 个、copyOfRange()复制指定区间比较equals()一维数组、deepEquals()多维数组转集合asList()返回固定大小 List注意事项二分查找前必须排序否则结果无效多维数组需使用deepToString()/deepEquals()asList()返回的 List 不支持add()/remove()操作。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

商业网站开发与设计云存储能用来做网站吗

为帮助考生了解专业情况,提前做好专业选择与职业生涯规划,省教育考试院联合省教育厅高教处、相关高校推出“专业解读”系列,供2022年高考生参考。 今天,将为考生送上第五期——网络空间安全专业解读。“没有网络安全,…

张小明 2026/1/17 22:36:32 网站建设

好网站建设公司选择哪家好贷款公司如何做网站

Windows任务栏终极定制手册:7大技巧彻底提升桌面效率 【免费下载链接】7-Taskbar-Tweaker Windows Taskbar Customization Tool 项目地址: https://gitcode.com/gh_mirrors/7t/7-Taskbar-Tweaker 还在为杂乱的任务栏而烦恼吗?想要打造一个既美观又…

张小明 2026/1/17 22:36:34 网站建设

网站备案审核建站案例

Vue树状图终极指南:快速构建层次结构可视化 【免费下载链接】Vue-Tree-Chart A Vue component to display tree chart 项目地址: https://gitcode.com/gh_mirrors/vu/Vue-Tree-Chart 还在为如何优雅展示复杂的层次数据而烦恼吗?Vue树状图组件正是…

张小明 2026/1/17 22:36:36 网站建设

淘宝客优惠券网站建设教程视频网页分析从哪些方面

yaml-cpp完整安装指南:5步快速配置C YAML解析库 【免费下载链接】yaml-cpp A YAML parser and emitter in C 项目地址: https://gitcode.com/gh_mirrors/ya/yaml-cpp yaml-cpp是一个专为C开发者设计的开源库,能够高效解析和生成YAML格式数据。YAM…

张小明 2026/1/17 22:36:36 网站建设

pc网站制作公司厦门网站设计培训公司

第一章:Open-AutoGLM语义解析准确率提升概述Open-AutoGLM 作为新一代开源语义理解框架,其核心目标是提升自然语言到结构化指令的转换精度。在实际应用中,语义解析的准确率直接影响下游任务的执行效果。通过引入增强型上下文注意力机制与动态词…

张小明 2026/1/17 22:36:37 网站建设

马鞍山市住房和城乡建设部网站个人简历模板电子版

FaceFusion镜像支持断点续传:长时间任务不中断 在AI生成内容(AIGC)浪潮席卷影视、短视频与虚拟人领域的今天,人脸替换技术早已不再是实验室里的概念,而是实实在在推动创意生产的引擎。FaceFusion 作为开源社区中备受推…

张小明 2026/1/17 22:36:37 网站建设