Java定义一个数组的工具类

Java自定义数组的工具类 将一些数组使用的常用算法封装到方法中来使用,方法的初步理解使用,也体现了方法的可复用性和代码的整洁性 阅读详情

自定义一个操作int[]的工具类。

涉及到的方法有:求最大值、最小值、总和、平均数、遍历数组、复制数组、数组反转\数组排序(默认从小到大排序)、查找等。

package com.atguigu01._static.exer2;

/**
*  求最大值,最小值,总和, 平均数, 遍历数组, 复制数组, 数组反转, 数组排序(从小到大), 查找
*/
public class MyArrays {
   // 使用static修饰符就可以直接用类调用,而不用单独创建一个实例,
   // 也有static的考察

   /**
    * 获取int[] 数组的最大值
    * @param arr
    * @return
    */
   public static int getMax(int[] arr){
       int max = arr[0];
       for (int i = 1; i < arr.length; i++){
           if (arr[i] > max) max = arr[i];
       }
       return max;
   }

   /**
    * 获取int[]数组的最小值
    * @param arr
    * @return
    */
   public static int getMin(int[] arr){
       int min = arr[0];
       for (int i = 1; i < arr.length; i++){
           if (arr[i] < min) min = arr[i];
       }
       return min;
   }

   /**
    * 求和
    * @param arr
    * @return
    */
   public static int getSum(int[] arr){
       int sum = 0;
       for (int i = 0; i < arr.length; i++){
           sum += arr[i];
       }
       return sum;
   }

   /**
    * 求平均
    * @param arr
    * @return
    */
   public static int getAvg(int[] arr){
       return getSum(arr) / arr.length;
   }

   /**
    * 打印数组
    * @param arr
    */
   public static void print(int[] arr){
       System.out.println("[");
       for (int i = 0; i < arr.length; i++){
           if (i == 0) System.out.println(arr[i]);
           else System.out.println("," + arr[i]);
       }
       System.out.println("]");
   }

   /**
    * 复制数组
    * @param arr
    * @return
    */
   public static int[] copy(int[] arr){
       int[] newArr = new int[arr.length];
       for (int i = 0; i < arr.length; i++){
           newArr[i] = arr[i];
       }
       return newArr;
   }

   /**
    * 数组反转
    * @param arr
    */
   public static void reverse(int[] arr){
       for (int i = 0, j = arr.length - 1; i < j; i++, j--){
           int temp = arr[i];
           arr[i] = arr[j];
           arr[j] = temp;
       }
   }

   /**
    * 数组排序
    * @param arr
    */
   public static void sort(int[] arr){
       for (int j = 0; j < arr.length-1; j++){
           for (int i = 0; i < arr.length-1-j; i++){
               if (arr[i] > arr[i+1]){
                   int temp = arr[i];
                   arr[i] = arr[i+1];
                   arr[i+1] = temp;
               }
           }
       }
   }

   /**
    * 线性查找目标的索引,未找到返回-1
    * @param arr
    * @param target
    * @return
    */
   public static int linearSearch(int[] arr, int target){
       // 线性查找
       for(int i = 0; i < arr.length; i++){
           if (arr[i] == target) return i;
       }
       return -1;
   }
}

示例:

public class MyArraysTest {
    public static void main(String[] args) {
        int[] a1 = {1,2,3,6,5};

        int sum = MyArrays.getSum(a1);
        System.out.println(sum);
    }
}
Array数组工具包 Array数组工具包 1 1 1 1 立即下载

相关推荐

STM32实战指南:TFTLCD液晶屏驱动与ILI9341应用解析

本文详细解析了STM32驱动TFTLCD液晶屏的实战技巧,重点介绍了ILI9341控制器的硬件连接、寄存器操作及性能优化方法。通过8080并行接口时序分析、GRAM操作优化和DMA传输应用,帮助开发者高效实现液晶屏驱动,适用于工业控制、智能家居等场景。

weixin_26873711的博客 232

java数组 方法工具包

自己写的数组中可以用的方法 的工具包 package day09; /* 自定义数组的工具类 */ public class ArrayUtil { //求数组的最大值 public int getMax(int[] arr){ int max = 0; for (int j : arr) if (j >= max) { max = j; } ret.

U7_7cc的博客 739

别再为域名备案发愁了!微信小程序后端调用,试试这个‘官方捷径’——云托管

本文介绍了微信小程序后端部署的新思路——利用微信云托管服务绕过域名备案难题。通过详细的环境准备、数据库配置、服务部署和小程序端调用方案,帮助开发者快速实现小程序与后端服务的无缝对接,大幅缩短上线周期并降低运维成本。

weixin_29243279的博客 676

JAVA常用集合与工具类

1.Math工具类 Math.sqrt() : 计算平方根 Math.cbrt() : 计算立方根 Math.pow(a, b) : 计算a的b次方 Math.max( a, b ) : 计算最大值 Math.min( a, b ) : 计算最小值 Math.abs() : 取绝对值 Math.ceil(): 天花板的意思,就是逢余进一 Math.floor() : 地板的意思,就是逢余舍一 Math.rint(): 四舍五入,返回double值。注意.5的时候会取偶数 Math.round(): 四舍五

qq_43075383的博客 934

通过JLink下载实现工控MCU批量烧录实战案例

利用JLink下载工具实现高效稳定的工控MCU批量烧录,提升产线效率。案例详细解析了脚本配置与自动化流程,突出jlink下载的可靠性和可扩展性,适用于大规模嵌入式部署场景。

weixin_30205153的博客 813

AI编码的“黑箱危机”终结者:OpenSpec如何让你的代码从“猜谜”变“契约”?

OpenSpec的真正价值,在于它将AI编码从"经验驱动"推向"契约驱动"——当人类与AI对"目标是什么"达成显式共识,编码就从"猜谜游戏"变成了"工程实现"。这种转变不仅提升效率,更重塑了开发者与AI的关系:AI从"替代者"回归"协作者",而人类则聚焦于"定义正确的事"而非"正确地做事"。对于开发者,OpenSpec提供了驾驭AI的缰绳;对于团队,它构建了协作的基石;对于行业,它预示着AI编码工业化的开端。

haolove527的专栏 1349

java数组工具类_Java 数组工具类排序,最大值最小值等

public class ArrayUtils{/*** 返回数组最大值** @param a* @return*/public static int max(int[] a){// 返回数组最大值int x;int aa[]=new int[a.length];System.arraycopy(a,0,aa,0,a.length);x=aa[0];for(int i=1;iif(aa[i]&gt...

weixin_35009700的博客 276

机器学习-深嵌交叉验证(Nested Cross-Validation)

Section I: Code and Analyses 第一部分:代码 from sklearn import datasets from sklearn.model_selection import train_test_split from sklearn.preprocessing import StandardScaler from sklearn.svm import SVC from...

Santorinisu Blogs 2716

Java-案例练习:定义数组工具类

需求: 在实际开发中,经常会遇到一些数组使用的工具类。请按照如下要求编写一个数组的工具类:ArraysUtils ①::我们知道数组对象直接输出的时候是输出对象的地址的,而项目中很多地方都需要返回数组的内容,请在ArraysUtils中提供一个工具类方法toString,用于返回整数数组的内容,返回的字符串格式如:[10,20,50,34,100](只考虑整数数组,且只考虑一维数组) ②:定义一个测试类TestDemo,调用该工具类的工具方法,并返回结果。 工具类: priv...

weixin_52309279的博客 1830

InfiniteTalk (Wan2.1) 数字人 A800 落地实战:从依赖地狱到完美运行的保姆级指南

摘要:本文详细记录了在A800(80GB)服务器上部署InfiniteTalk开源数字人项目的完整流程。该项目基于阿里Wan2.1视频生成模型,支持无限时长流式生成,但环境配置极其复杂。作者总结了18个关键问题点,包括Python版本冲突、CUDA算子缺失等,并提供了黄金配置方案:使用Python3.10+PyTorch2.5.1环境,精准控制FlashAttention等核心库版本,以及针对A800的显存优化策略。最终实现480P视频30秒/步的生成速度,相比默认配置提升3.7倍性能。

软件工程师文艺 2042

RT-DETR改进策略【Neck】| GFPN 超越BiFPN 通过跳层连接和跨尺度连接改进RT-DETR颈部网络

本文记录的是利用颈部结构优化RT-DETR的目标检测网络模型。利用改进后的颈部网络,通过跳层连接,避免了在进行反向传播时的梯度消失问题,并且引入跨尺度连接,可以实现不同级别和层次的特征充分融合,获取足够的高层语义信息和低层空间信息交换,从而在大规模变化场景下提高检测性能。GIRAFFEDET: A HEAVY-NECK PARADIGM FOR OBJECT DETECTION-GFPN包含了上述的跳层连接(dense-link和log2nlog _{2} nlog2​n-link)以及跨尺度连接(Quee

Limiiiing的博客 2228

java练习案例--定义数组工具类

利用简单案例学习定义与调用数组工具类---java

小库里的学习记录 1667

python爬虫:采集求职者简历信息并进行人才分析

通过 Python 爬虫抓取求职者简历信息并进行人才分析,可以帮助企业快速筛选和匹配人才。但在实施过程中,必须严格遵守法律法规,确保数据来源合法合规。如果需要更复杂的分析,可以结合自然语言处理(NLP)和机器学习技术,进一步挖掘数据价值。

数据知道的博客 1万+

java中常用的数组工具类

在java编程中,有一些针对数组的操作需要经常使用,但是系统又不提供现成的让用户可以直接调用。所以,总是需要用户进行手写。 在这里,对于java编程中经常用到的一些数组操作,进行了总结,并封装进一个自定义数组工具类中: 主要包含的操作有: 求数组元素的最大值、最小值、和、平均值 反转数组 对数组进行排序(冒泡排序) 遍历数组 在数组中查找指定元素(线性查找) 具体的代码实现如下: /* * 自定义数组的工具类 * */ public class ArrayUtil { // 求数组的最大值

qq_47888755的博客 741

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

写一个JAVA数组的工具类

其实说实话,不像其他语言那样,JAVA数组的应用是非常少的,JAVA有自己独特是collection接口(集合)基本完全代替了数组的功能,基本只有ArrayList的底层是用数组的,但是对于初学者来说,学好数组,了解这种数据结构。是非常重要的。以下为大家带来自己写一个数组的工具类,实现数组的,增查改删,以及冒泡排序和二分查找;import java.util.Arrays;/** * 数组工具类 ...

lin542405822的博客 1237

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

java中自定义数组的工具类如何构造及其调用的案例

main函数调用代码如下: package com.atguigu.java; import java.util.Scanner; public class ArrayUtilTest { public static void main(String[] args) { ArrayUtil util = new ArrayUtil(); int[] arr = new int[]{32,34,32,5,3,54,654,-98,0,-53,5}; //调用类函数求最大

woahxy的博客 274

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Java综合四种方法合并两个数组

package practice; import java.util.Arrays; import java.util.TreeSet; public class AnArrayOfMerger { public static void main(String[] args) { // 待合并数组 Integer[] array01 = { 1, 7, 9, 11, 13, 15, 17, 19 }; Integer[] array02 = { 2, 4, 6, 8, 10 };

WanAkiko. 1万+

Java自定义工具类——10种和数组有关的常用方法

地方

Alive's Blog 633

作为一个屌丝程序员不得不收藏的工具类 一 json工具类

json数据类型很好用,那么有一个json的

NaXieNianYiShiGuJi的专栏 589

自定义数组的工具类----Java

自定义数组的工具类----Java 求最大值 求最小值 求总和 求平均值 数组排序 数组反转 数组遍历 数组复制 查找元素 自定义工具类代码: package com.array.project; /** * @author: LYM * @description 自定义数组的工具类 * @version: V1.0 * @date: 2022/3/1 18:49 */ public class ArrayUtil { //求数组的最大值 public int getMax

yummy的博客 519

java数组工具封装

package lesson01; public class demo01 { public static void main(String[] args) { // TODO Auto-generated method stub int[] arr = {15,98,45,25}; //获取最大值 int max=ArrayTool.getMax(arr); ...

weixin_43669384的博客 236

【Java基础】Java工具类的使用

Java工具类的使用

2202_75462083的博客 715

JAVA开发中数组用法_浅谈Java集合中Array(数组)的应用

我们都知道,由于Array(数组)通常意义上讲只是一个单纯的线性序列,又基于Native,凭此它的效率历来便号称Java中最高。所以通常我们也都承认Java中效率最高的存储方式就是使用数组。但是,由于数组初始化后大小固定,索引不能超出下标,缺少灵活的扩展功能等原因,使得很多人放弃了数组的使用, 转而使用Collection,List,Map,Set等接口处理集合操作。诚然在Java中使用集合类可以...

weixin_39614276的博客 283

黑马程序员——Java基础——数组

数组 数组是同一种类型的数据的集合,其实数组就是一个容器。 Java中出现了数组,数组有些什么用处呢?可以自动给数组中的元素从0开始编号,方便操作这些元素 定义数组的两种格式: 格式1:元素类型[] 数组名=new 元素类型[元素个数或数组长度];      示例:int[] i=new int[5];      也有程序员这么写:int arr[]=new i

libin1127的博客 578

工具类的实现

自定义工具类 java工具类的实现其实是通过自定义一个类,类中只包含静态的方法体,外部类可以直接通过     类名.方法  的方式来调用该工具类中的方法,不需要创建该类的对象就可以直接调用。 注意点:通过 类名.方法 调用用的类只能是被static 关键字修饰的方法 具体例子如下: 通过定义一个工具类实现 1.数组的排序 2.查找数组元素,返回下标(不存在返回-1) 3.遍历数组

WGYH_3767的博客 714

JAVA复制对象和集合的工具类

JAVA复制对象和集合的工具类 因为BeanUtils.copyProperties(Object source, Object target),只能复制对象,不能复制数组和集合,所以决定写个工具类来解决 public class CopyUtils { /** * 复制对象 */ public static <T,K> T convert(K s...

qq_39172525的博客 1512
上一篇: 2970. 统计移除递增子数组的数目 I
下一篇: 序列化Serialization
所谓远行Misnearch
博客等级 码龄3年 1093粉丝 259原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

所谓远行Misnearch

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值