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

Java基础——常用算法5

一、Arrays

1.1 介绍

操作数组的工具类,注意该类没有构造方法。基本上每一个成员方法都用static修饰,所以不用创建对象直接类名.的方式即可调用、不能被实例化(构造方法是 private 的)、专门用于操作数组(基本类型或对象数组)。

        

1.2 常用的成员方法

package com.lkbhua.Algorithm.ArrayDemo;import java.util.Arrays;public class demo1 {public static void main(String[] args) {/*public static String toString(数组)    把数组拼接成一个字符串public static int binarySearch(数组,查找的元素)    二分查找查找元素public static int[] copyOf(原数组,新数组长度)       拷贝数组public static int[] copyOf(原数组,新数组长度,新数组的起始索引,新数组的结束索引)       拷贝数组指定范围public static void fill(数组,填充的元素)      填充数组public static void sort(数组)                 按照默认方式进行数组排序public static void sort(数组,排序规则)         按照指定的排序规则进行数组排序*/// 1、toString: 把数组拼接成一个字符串System.out.println("-----------toString------------");int[] arr = {1,2,3,4,5,6,7,8,9};System.out.println(Arrays.toString( arr));// 2、binarySearch: 二分查找查找元素// 细节1:二分查找的前提:数组中的元素必须是有序的,数组中的元素必须是升序的// 细节2:如果数组中没有该元素,则返回-插入点-1// 插入点:插入点就是该元素应该在数组中的位置// 为什么要减1呢?// ——主要是为了避免插入点是0的情况,插入点是-0也是0会造成误解,为什么规定-1.System.out.println("-----------binarySearch------------");System.out.println(Arrays.binarySearch(arr, 5));System.out.println(Arrays.binarySearch(arr, 10));System.out.println(Arrays.binarySearch(arr, 1));// 3、copyOf: 拷贝数组// 如果新数组的长度比原数组的长度小,则新数组的长度就是原数组的长度,同时进行部分拷贝// 如果新数组的长度比原数组的长度大,则新数组的长度就是新数组的长度,剩余的元素默认初始化值进行填充System.out.println("-----------copyOf------------");int[] newArr = Arrays.copyOf(arr, 5);System.out.println(Arrays.toString(newArr));// 4、copyOfRange: 拷贝数组指定范围// 细节1:包头不包尾,包左不包右System.out.println("-----------copyOfRange------------");int[] newArr2 = Arrays.copyOfRange(arr, 2, 5);System.out.println(Arrays.toString(newArr2));// 4、fill: 填充数组System.out.println("-----------fill------------");Arrays.fill(arr, 10);System.out.println(Arrays.toString(arr));// 5、sort: 排序数组 (默认情况下:给基本数据类型进行升序排序)System.out.println("-----------sort------------");int[] arr2 = {5,3,2,1,4};Arrays.sort(arr2);System.out.println(Arrays.toString(arr2));// 6、sort降序System.out.println("-----------sort降序------------");}
}

声明:

题目详细分析借鉴于通义AI

以上均来源于B站@ITheima的教学内容!!!

本人跟着视频内容学习,整理知识引用

http://www.dtcms.com/a/581824.html

相关文章:

  • Qt数据可视化实战:饼图、线图与表格的完整指南
  • qq代挂网站建设ps怎么做网站的广告条
  • 两个显示器鼠标方向调整
  • window server2008下Oracle 配置dblink查询 MySQL 数据
  • 软件数据库测试:【数据库质量保障:从单元测试到性能优化】
  • Windows安装Mujoco
  • vue3切换路由时页面空白问题解决办法
  • 时尚网站设计案例网站建设与网站主机的选择
  • 只买域名不建网站手机网站页面模板
  • Via安卓纯净版浏览器 v6.7.1去广解锁高级版
  • Ubuntu 24编译Android源码问题解决
  • 南宁市建设工程质量安全协会网站男性专科正规医院
  • 企业为什么建设网站wordpress5无法创建目录
  • Flutter 加固方案对比与实战,多工具组合的跨平台安全体系(Flutter App 加固/IPA 成品混淆/Ipa Guard CLI/自动化安全流程)
  • Qt/QML DelegateModel基础用法示例
  • 使用hping3进行网络协议测试与防火墙测试的完整指南
  • 西安网站建设市场烟台网站建设团队
  • 如何使用指标来确定趋势
  • 【vsftpd】centos和ubuntu部署vsftpd服务
  • 各大网站发布seo点击
  • Apache Jena SPARQL 查询完全指南:入门与实战案例
  • 做电影网站成本响应式网站开发asp
  • 中文网站开发语言wordpress广告模板下载地址
  • Elimination英文单词学习
  • S31-WinCC单个窗口多次调用
  • 突破罕见遗传病诊断壁垒:知识图谱增强医学大模型的智能应用
  • linux下移植LVGL v9.1.0实现屏幕UI显示
  • 【ETCD】ETCD——confd配置管理
  • C++进阶:(七)红黑树深度解析与 C++ 实现
  • HBase Shell里表操作实战