当前位置: 首页 > news >正文

“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));}
http://www.jsqmd.com/news/943730/

相关文章:

  • 2026欧洲第三方雇佣EOR服务商有哪些?海外人力资源服务商实用盘点 - 品牌2026
  • 仅限内部技术团队流通:某千万级DAU App的AI抽奖风控白皮书(含实时异常中奖行为识别规则集v3.2)
  • 2026美妆类目直通车ROI突破与代运营降本实战 - 羊城派
  • 做网站用什么软件?别急着找工具名,先看你准备怎么做 - 维双云小凡
  • 【智能反馈整合黄金标准V2.3】:IEEE认证的6维评估矩阵+可即插即用的Python反馈归因SDK(限时开源)
  • 为什么你的AI拣选准确率卡在89.7%?深度拆解视觉模型与AS/RS协同的3个精度断层
  • 2026年苏州注册公司口碑推荐,哪家更靠谱? - 招财兔数字员工
  • 华硕笔记本终极控制方案:G-Helper完整使用指南与性能优化教程
  • 2026年云南全液压抓钢机选购完全指南:合矿重工vs主流品牌深度对比 - 企业名录优选推荐
  • 2026菜刀柄成型机选型指南:商家推荐+3个用户案例帮你避坑 - 品牌优选官
  • 当STL文件在Windows资源管理器里“隐形“,3D设计师该如何自救?
  • 2026年掌握C语言可以干什么工作? 还能找到工资高的工作吗
  • 上海豪龙汽车租赁:上海大巴租赁豪车租赁排名 - LYL仔仔
  • Horos:macOS平台开源医学影像查看器的全面解析与实践指南
  • 5个必学技巧:FFmpeg Batch AV Converter视频批量处理终极指南
  • 专业图标库Lucide:从设计到部署的完整工程化实践
  • Mem Reduct下载安装和使用全流程攻略(附安装包+图文并茂) - sdfsafafa
  • 模块化机器人动画制作:goBILDA与可录制RC控制器实战指南
  • Windows 11系统瘦身神器:Win11Debloat让你的电脑飞起来!
  • 想找靠谱GEO服务商?这篇必看 - 品牌测评鉴赏家
  • 2026宁波婚纱摄影口碑排名TOP5|多维度测评,备婚选店不踩坑 - 江湖评测
  • RPG Maker解密工具终极指南:3分钟快速解锁加密游戏资源
  • 3步告别Windows预览版烦恼:离线脚本帮你快速回归稳定系统
  • 微波炉电商评论处理全流程:从原始数据清洗到LDA主题提取与正负向分类
  • 文化遗产数字化:三维激光扫描与摄影测量技术实战解析
  • 星动纪元人形机器人:物流场景落地加速,效率逼近人类,未来可期!
  • 终极指南:如何在手机上使用PKHeX.Mobile跨世代编辑宝可梦存档
  • 2026年广州一站式整装公司怎么选?十大靠谱装企凭借实力收获业主认可! - 商业新知
  • 2025年南京装修公司推荐:基于权威数据的理性榜单与避坑指南 - 商业新知
  • XU9231,1A异步升压芯片 可调输出电压,达12V的输出电压