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

四、Arrays类

四、Arrays类

  • 数组的工具类java.util.Arrays

  • 由于数组对象本身并没有什么方法可以供我们调用,但API中提供了一个工具类Arrays供我们使用,从而可以对数据对象进行一些基本操作。

  • 查看JDK帮助文档在线文档-jdk-zh

    Arrays

  • Arrays类中的方法都是static修饰的静态方法,在使用的时候可以直接使用类名进行调用,而“不用”使用对象来调用(注意:是“不用”而不是“不能”)

  • 具有以下功能:

    • 给数组赋值:通过fill方法。

      Arrays-fill

    • 给数组排序:通过sort方法,按升序。

      Array-sort

    • 比较数组:通过equal方法比较数组中元素值是否相等。

      Arrays-equal

    • 查找数组元素:通过binarySearch方法能对排序好的数组进行二分查找法操作。

      Arrays-binary

package com.huang.array;
//Arrays类
import java.util.Arrays;public class ArrayDemo05 {public static void main(String[] args) {int[] a={10,2356,5446,2112,55,5585,6,858,5};System.out.println(a);//[I@e73f9ac//打印数组元素System.out.println(Arrays.toString(a));//使用工具类  [10, 2356, 5446, 2112, 55, 5585, 6, 858, 5]printArrays(a);//自己写的方法  [10, 2356, 5446, 2112, 55, 5585, 6, 858, 5]//不要过度依赖工具类!!!Arrays.sort(a);//对数组进行排序:升序System.out.println(Arrays.toString(a));//[5, 6, 10, 55, 858, 2112, 2356, 5446, 5585]Arrays.fill(a,0);//数组填充/数组赋值  全部都被填充为0   [0, 0, 0, 0, 0, 0, 0, 0, 0]Arrays.fill(a,2,4,0);//数组填充/数组赋值  只有元素2~4之间才会被填充为0   [5, 6, 0, 0, 858, 2112, 2356, 5446, 5585]System.out.println(Arrays.toString(a));}//方法public static void printArrays(int[] a){for (int i = 0; i < a.length; i++) {if (i == 0) {System.out.print("[");}if (i == a.length-1) {System.out.print(a[i]+"]");}else {System.out.print(a[i]+", ");}}}
}

冒泡排序

  • 冒泡排序无疑是最为出名的排序算法之一,总共有八大排序!

  • 冒泡排序还是相当简单的,两层循环,外层冒泡轮数,里层依次比较,江湖中人人尽皆知。

  • 我们看到嵌套循环,应该立马可以得出这个算法的时间复杂度为O(n2)

    Array-冒泡

package com.huang.array;import java.util.Arrays;//冒泡排序/*1、比较数组中,两个相邻的元素,如果第一个数比第二个数大,我们就交换他们的位置2、每一次比较都会产生出一个最大(小)的数字3、下一轮则可以少一次排序!4、依次循环直到结束!*/
public class ArrayDemo06 {public static void main(String[] args) {int[] a={1,2,3,15,23,8,9,6,4,7};int[] sort = sort(a);System.out.println(Arrays.toString(sort));}public static int[] sort(int[] array){//临时变量int temp=0;//外层循环,判断我们这个要走多少次//length-1  为了不溢出for (int i = 0; i < array.length-1; i++) {boolean flag=false;//通过flag标识位减少没有意义的比较//内层循环,比较判断两个数,如果第一个数比第二个数大,则交换的位置for (int j = 0; j < array.length-1-i ; j++) {if (array[j+1]>array[j]){temp=array[j];array[j]=array[j+1];array[j+1]=temp;flag=true;}}if (flag==false){break;}}return array;}
}
http://www.jsqmd.com/news/1355863/

相关文章:

  • RPA 实现企业微信外部群消息的 WebSocket 高效监听
  • Vue3与Unity WebGL双向通信:从原理到实践的完整指南
  • openclaw 与AI智能体开发平台有什么区别?2026AionClaw与 OpenClaw横向对比
  • 2026重庆全屋定制怎么选?红星美凯龙菲印全屋高定展厅可探店 - 产品评测官
  • 终极指南:快速免费获取国家中小学智慧教育平台电子课本的完整解决方案
  • Go语言数据类型深度解析:从内存对齐到并发安全,掌握工程实践核心
  • 企业微信Python SDK:高效群发消息实战
  • 2026郴州黄金回收变现避坑全攻略 - 小仙贝贝
  • Three.js HDR环境贴图实战:从原理到实现全局光照与反射
  • 非官方API调用的随机化延迟(Jittering)调度优化
  • aspire-contextualsentence-singlem-biomed 模型原理:从多向量表示到句子级对齐
  • Nexus仓库管理器:从核心概念到企业级部署与配置实战
  • 2026优质精密去毛刺设备厂家**|刀具钝化机、镜面喷砂机行业实力深度测评 - 产品评测官
  • 2026年最新教程:免费拼豆图纸生成器怎么用才省事 - 软件测评小帮手
  • Meta Muse Code 拆解:不拼跑分拼恢复,事件日志如何让编程智能体 24 小时不翻车
  • 2026年深圳GEO服务商选型指南:中小微企业高性价比参考 - 筑云鲸
  • 开源工具RevokeMsgPatcher:让你的聊天消息不再被撤回,技术探索的实用利器
  • 2026实力之选:东莞市悦通物流有限公司领衔东莞至南昌货运专线服务公司 - 优企名品
  • 3分钟搞定微信QQ防撤回:Windows用户必备的终极解决方案
  • 如何零基础构建AI工作流:Awesome-Dify-Workflow 5步快速上手指南
  • 机器人围栏和车间隔离网有什么区别?2026采购价格标准、验收规范、靠谱厂家推荐 - 产品评测官
  • 如何快速掌握跨平台GUI智能代理:Mobile-Agent完整实战指南
  • Obsidian日历插件完全指南:3分钟掌握时间管理新方法
  • 题解:P17206 「DLESS-6」Lost Requiem
  • 大模型后训练实践指南:从SFT到RLHF的完整流程与避坑要点
  • ncmdump解密工具:三步解锁网易云音乐NCM文件播放限制
  • 全行业通用AI论文平台,掌桥科研AIVS豆包避坑指南 - 掌桥科研-AI论文写作
  • 2026年最新教程:手机上怎么制作拼豆图纸 亲测好用方法 - 软件测评小帮手
  • 多场景适配AI论文工具,掌桥科研AI论文写作VSChatGPT2026最新实测 - 掌桥科研-AI论文写作
  • 13