news 2026/6/3 18:01:57

“Java” 数组的定义与使用(二)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
“Java” 数组的定义与使用(二)

*一、二维数组

*二、 数组排序(冒泡排序

一、二维数组

1. 普通的⼆维数组 ⼆维数组本质上也就是⼀维数组,只不过每个元素⼜是⼀个⼀维数组. 2. 基本语法 (行不可以省略,列可以省略) ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/8ab8f83e4c4945ae9d80198992d9212a.png) 代码⽰例:

int[][]arr={{1,2,3,4},{5,6,7,8},{9,10,11,12};for(introw=0;row<arr.length;row++){for(intcol=0;col<arr[row].length;col++){System.out.printf("%d\t",arr[row][col]);}System.out.println("");}
  1. 不规则的⼆维数组
    1 .不规则的⼆维数组指的是,⼆维数组的列在定义的时候,没有确定。
    2 .代码⽰例:
int[][]array=newint[2][];array[0]=newint[3];array[1]=newint[5];

1. 操作数据⼯具类Arrays

1 . 常用方法


代码如下:

importjava.util.Arrays;publicclassArraysDemo{publicstaticvoidmain(String[]args){int[]arr={5,2,8,1,9,3};// 1. 打印数组(不用自己写循环)System.out.println("原始数组:"+Arrays.toString(arr));// 2. 排序Arrays.sort(arr);System.out.println("排序后:"+Arrays.toString(arr));// 3. 二分查找(必须先排序)intindex=Arrays.binarySearch(arr,8);System.out.println("8 的索引位置:"+index);// 4. 填充数组int[]fillArr=newint[5];Arrays.fill(fillArr,100);System.out.println("填充后:"+Arrays.toString(fillArr));// 5. 复制数组int[]copyArr=Arrays.copyOf(arr,arr.length*2);System.out.println("复制并扩容:"+Arrays.toString(copyArr));// 6. 比较数组int[]arr2={1,2,3,5,8,9};booleanisEqual=Arrays.equals(arr,arr2);System.out.println("两个数组是否相等:"+isEqual);// 7. 多维数组打印int[][]matrix={{1,2},{3,4}};System.out.println("多维数组:"+Arrays.deepToString(matrix));// 8. 转换为 List(注意:返回的 List 不能增删,但可修改元素)String[]strs={"a","b","c"};java.util.List<String>list=Arrays.asList(strs);System.out.println("列表:"+list);// list.add("d"); // 这行会抛出 UnsupportedOperationException}}

数组转字符串

  1. 使⽤这个⽅法后续打印数组就更⽅便⼀些.
importjava.util.Arraysint[]arr={1,2,3,4,5,6};StringnewArr=Arrays.toString(arr);//打印的数组赋值给newArrSystem.out.println(newArr);//打印出来

二、 数组排序(冒泡排序)

给定⼀个数组,让数组升序(降序)排序.
算法思路
假设排升序:

  1. 将数组中相邻元素从前往后依次进⾏⽐较,如果前⼀个元素⽐后⼀个元素⼤,则交换,⼀趟下来后最⼤元素就在数组的末尾。
  2. 依次从上上述过程,直到数组中所有的元素都排列好。
publicstaticvoidmain(String[]args){int[]arr={9,5,2,7};bubbleSort(arr);System.out.println(Arrays.toString(arr));}publicstaticvoidbubbleSort(int[]arr){for(inti=0;i<arr.length;i++){for(intj=1;j<arr.length-i;j++){if(arr[j-1]>arr[j]){inttmp=arr[j-1];arr[j-1]=arr[j];arr[j]=tmp;}}}// end for}// end bubbleSort// 执⾏结果 [2, 5, 7, 9]
  1. 冒泡排序性能较低.Java中内置了更⾼效的排序算法
  2. 虽然有好用的工具但是还是要明白逻辑,要有思路。
publicstaticvoidmain(String[]args){int[]arr={9,5,2,7};Arrays.sort(arr);System.out.println(Arrays.toString(arr));}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/3 17:58:24

data-diff:传统数据比对方法的终结者?

data-diff&#xff1a;传统数据比对方法的终结者&#xff1f; 【免费下载链接】data-diff Compare tables within or across databases 项目地址: https://gitcode.com/gh_mirrors/da/data-diff 还在手动编写SQL查询来比对两个数据库表的数据一致性吗&#xff1f;还在为…

作者头像 李华
网站建设 2026/6/3 17:56:01

跨模态革命:CLIP-ReID如何重塑图像重识别范式

跨模态革命&#xff1a;CLIP-ReID如何重塑图像重识别范式 【免费下载链接】CLIP-ReID Official implementation for "CLIP-ReID: Exploiting Vision-Language Model for Image Re-identification without Concrete Text Labels" (AAAI 2023) 项目地址: https://git…

作者头像 李华
网站建设 2026/6/3 17:55:10

唐山企业营销策划新选择:高效服务引领市场变革

在当今竞争激烈的商业环境中&#xff0c;如何有效地进行品牌推广和市场营销成为了众多企业关注的焦点。唐山金航广告有限公司&#xff08;码客汀唐山旗舰店&#xff09;凭借其丰富的本地化资源、强大的实体制造能力和先进的数字技术赋能&#xff0c;为企业提供了一站式、全方位…

作者头像 李华
网站建设 2026/6/3 17:52:33

基于Arduino与红外遥控的智能家居自动化系统搭建指南

1. 项目概述与核心价值作为一个喜欢折腾硬件的工程师&#xff0c;我一直在寻找那些能让生活变得更“懒”的自动化方案。市面上成熟的智能家居产品固然方便&#xff0c;但价格不菲&#xff0c;而且很多功能未必完全贴合自己的使用习惯。更重要的是&#xff0c;对于技术爱好者来说…

作者头像 李华