Java的int数组的简单工具类IntArrayUtil1.0

数组越界异常真是令人感觉闹心,又不是很烦。集合是很好的工具,每次用集合处理小数据显得有点小题大做。

如下是一个简单IntArrayUtil工具类(简陋程度,自己都想捂脸,不知道拿这东西水自己的博客,会不会被人打,/手动滑稽)。

package cn.util;

/**
 * 整数数组工具类: 一维数组的创建和设置值,二维数组的创建和设置值。
 *
 * @author JXLYS
 * @version 1.0
 */
public class IntArrayUtil {

    /**
     * 获得一维数组指定位置的值。查询出错则返回-1。
     *
     * @param iarr
     *            原数组
     * @param index
     *            索引
     * @return
     */
    public static int get(int[] iarr, int index) {
        return noArrayIndexOutOfBounds(iarr.length, index) ? iarr[index] : -1;

    }

    public static int get(int[][] iarr, int x, int y) {
        return noArrayIndexOutOfBounds(iarr.length, y) && noArrayIndexOutOfBounds(iarr[y].length, x) ? iarr[y][x] : -1;
    }

    /**
     * 创建一个一维数组,参数是顺序的输入值。 参数可变(有多少个参数就有多少个值)
     *
     */
    public static int[] newOne(int... values) {
        return values;
    }

    /**
     * 创建指定长度的一维数组,长度不大于0则返回null。
     *
     * @param length
     *            数组长度。
     */
    public static int[] newOneLength(int length) {
        return length>0 ? new int[length] : null;
    }

    /**
     * 创建一个指定一维数组的个数,一维数组的长度的二维数组。
     *
     * @param x
     *            一维数组的长度
     * @param y
     *            一维数组的个数。
     */
    public static int[][] newTwoLength(int x, int y) {
        return x>0 && y>0 ? new int[y][x] : null;
    }

    private static boolean noArrayIndexOutOfBounds(int length, int index) {// 检测数组是否越界
        return index >= 0 && index < length ? true : false;
    }

    /**
     * 设置数组的所有值。
     *
     * @param iarr
     *            原数组
     * @param value
     *            值
     */
    public static void setAll(int[] iarr, int value) {
        for (int i = 0; i < iarr.length; i++) {
            iarr[i] = value;
        }
    }

    /**
     * 修改一维数组的指定索引的值,如果索引越界则不修改。
     *
     * @param iarr
     *            原数组
     * @param index
     *            索引
     * @param value
     *            值
     */
    public static void set(int[] iarr, int index, int value) {
        if (noArrayIndexOutOfBounds(iarr.length, index))
            iarr[index] = value;
    }

    /**
     * 设置二维数组的指定索引的值。
     *
     * @param iarr
     *            二维数组
     * @param x
     *            一维数组里的索引
     * @param y
     *            二维数组的索引
     * @param value
     *            值
     */
    public static void set(int[][] iarr, int x, int y, int value) {
        if (noArrayIndexOutOfBounds(iarr.length, y) && noArrayIndexOutOfBounds(iarr[y].length, x)) {
            iarr[y][x] = value;
        }
    }

    private IntArrayUtil() {// 私有化构造方法
        throw new RuntimeException();
    }
}
时间: 2024-11-03 22:25:10

Java的int数组的简单工具类IntArrayUtil1.0的相关文章

java 中 针对数组进行的工具类

1.遍历数组的方法: public static void printfArray(int[] arr)  2. 获取数组中最大值: public static int getMax(int[] arr) public class ArrayTool { //把构造方法私有,外界就不能在创建对象了 /** * 这是私有构造 */ private ArrayTool(){} /** * 这是遍历数组的方法,遍历后的格式是:[元素1, 元素2, 元素3, ...] * @param arr 这是要被

Java字符串转16 进制工具类Hex.java

原文:Java字符串转16 进制工具类Hex.java 源代码下载地址:http://www.zuidaima.com/share/1550463378410496.htm Java 字符串转 16 进制工具类 Hex.java 实现 16进制 0xfecd .. 和 java 字符串之间的互转换! 如果做开发,通常用户登陆密码都会 mad5(salt + pwd) 然后再将 md 之后的数据 hex 一下. 这个工具类,就是实现此效果的. /* * */ package com.zuidaim

JAVA对象任意深度克隆clone工具类分享

原文:JAVA对象任意深度克隆clone工具类分享 源代码下载地址:http://www.zuidaima.com/share/1550463408114688.htm package com.zuidaima.n_app.util; import java.lang.reflect.Constructor; import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; import jav

Java获取时间 时间计算 转换时间工具类

Java获取时间 时间计算 转换时间工具类 JAVA日期工具类 package com.mh.util; import java.sql.Timestamp; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; /** * 时间日期转换工具类 */ public class DateTimeUtil { /** *

Java导出防止小数显示不全工具类

1.说明 在做项目的过程中,发现导出功能中的数据显示不全,如"0.4",会显示成".4":"-0.8"会显示成"-.8" 现在,通过以下Java工具类保证导出的数据(特别是小数)显示全 2.Java工具类 /** * @Title:DecimalPoint.java * @Package:com.you.model * @Description:解决导出时小数前的"0"被去掉的问题 * @Author: 游

java读写文件(可当工具类保存。解决乱码)

//读文件 public static String ReadFile(String path) { File file = new File(path); BufferedReader reader = null; String laststr = ""; try { reader = new BufferedReader(new FileReader(file)); String tempString = null; while ((tempString = reader.read

jdbc工具类1.0

package cn.zhouzhou; import java.sql.Connection; import java.sql.Driver; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; /* * 一.jdbc工具类 * 1.是啥? * 在增删改查的时候 ,发现很多代码都是重复的.为了简化代码,将其封装成一个类

java使用Calendar类获取常用简单工具类

前言: 在工作中,我们经常会用到时间相关的.比如月初.月末.年初.年末.指定月份所在季度的季末.当前时间加X天.x月.x年等这些常用的虽说不难,但是如果要用到,立马又想不起来.这里凯哥归纳了一些常用的放在一个工具类中.有需要的朋友可以拿去或是收藏.如果大家有更好的,欢迎留言.如果凯哥哪里不对,欢迎大家留言骂起~. 声明:本文有凯哥Java(www.kaigejava.com)发布于凯哥个人博客. 正文: 1:获取指定日期 指定月份后的最后一天.返回格式:yyyyMMdd 获取指定日期 指定月份后

数组Array及其工具类的使用

一.一维数组 (一)初始化 1.静态初始化:给出初始值,系统决定长度 <span style="font-family:Arial;font-size:18px;">int[] sArr = {1,2,3}; String[] sArrStr = {"a","b","c"};</span> 2.动态初始化:只指定长度,系统给出初始值 <span style="font-family:Ar