数组常用方法总结(部分方法利用了工具类)

今晚回顾了一下数组的常用方法,撸了一些代码总结一下,感觉又收获不少
直接上代码吧,主要是便于自己复习和记忆

创建数组的三种方法:

        //创建数组的第一种方法
        int[] arr=new int[6];
        //创建数组的第二种方法
        int[] a = {23, 5, 65, 23, 45, 2, 4, 34, 8};
        //创建数组的第三种方法
        int[] b = new int[]{23,5,65,23,45,2,34,8};

判断数组是否越界

    //判断数组是否越界
    public static boolean isLength(int m, int arr[]) {
        boolean flag = false;
        int length = arr.length;
        if (m < length) {
            flag = true;
        }
        return flag;
    }

判断数组是否相等
我们可以看到判断数组是否相等是用的equals()方法

    //判断数组是否相等
    public static void isEquals(int a[], int b[]) {
        if (Arrays.equals(a, b)) {
            System.out.println("这两个数组相等");
        } else {
            System.out.println("这两个数组不相等");
        }
    }

控制台输入数组并且倒序输出
这里我用了两个方法倒序输出,利用ArrayUtils工具类的时候,出现了找不到该类的问题,该博客已经解决,出现同样问题的小伙伴可以参考一下:IDEA中找不到ArrayUtils工具类的问题

    //控制台输入数组并且倒序输出
    public static void putIn() {
        int[] arr = new int[5];
        Scanner input = new Scanner(System.in);
        for (int i = 0; i < arr.length; i++) {
            System.out.println("请输入第" + (i + 1) + "个数");
            arr[i] = input.nextInt();
        }
//        for (int i = arr.length-1;i >= 0; i--) {
//            System.out.println("倒序输出为:" + arr[i]);
//        }
        ArrayUtils.reverse(arr);
        System.out.println("倒序输出为:" + Arrays.toString(arr));
    }

toString方法打印数组

    //toString方法打印数组
    public static void arrToString(int a[]) {
        System.out.println(Arrays.toString(a));
    }

从数组中创建一个ArrayList

    //从数组中创建一个ArrayList
    public static void makeArraylist(String stringArray[]) {
        ArrayList<String> arrayList = new ArrayList<String>(Arrays.asList(stringArray));
        System.out.println(arrayList);
    }

把一个 ArrayList 转换成数组

    //把一个 ArrayList 转换成数组
    public static void arrayListToArray(String stringArray[]) {
        ArrayList<String> arrayList = new ArrayList<String>(Arrays.asList(stringArray));
        String[] stringArr = new String[arrayList.size()];
        arrayList.toArray(stringArr);
        for (String s : stringArr) {
            System.out.println(s);
        }
    }

把一个数组转换成 Set

    //把一个数组转换成 Set
    public static void ArrayToSet(String stringArray[]) {
        Set<String> set = new HashSet<String>(Arrays.asList(stringArray));
        System.out.println(set);
    }

检查数组是否包含某一个值
asList()是Arrays工具类提供的可以将一个变长参数或者数组转换成List 的方法;
字符串类String的contains方法,是用于检测指定的内容是否在string变量中存在,匹配是严格区分大小写的。

    //检查数组是否包含某一个值
    public static void checkSomeone(String stringArray[]) {
        boolean b = Arrays.asList(stringArray).contains("aa");
        System.out.println(b);
    }

数组合并

    //数组合并
    public static void addArray(int a[], int b[]) {
        int[] sumArray = ArrayUtils.addAll(a, b);
        System.out.println(Arrays.toString(sumArray));
    }

用指定的分隔符连接数组元素

    //用指定的分隔符连接数组元素
    public static void charWithArray(String stringArray[]) {
        String j = StringUtils.join(stringArray, "/");
        System.out.println(j);
    }

移除数组中的元素

    //移除数组中的元素
    public static void removeArray(int a[]) {
        int[] removed = ArrayUtils.removeElement(a, 8);//新建一个数组
        System.out.println(Arrays.toString(removed));
    }

把 int 转换成字节数组

    //把 int 转换成字节数组
    public static void intToByte() {
        byte[] bytes = ByteBuffer.allocate(4).putInt(8).array();
        for (byte t : bytes) {
            System.out.format("0x%x ", t);
        }
    }

下面是这次的完整代码,都写在了Array类里

package 数据结构.数组;
        import org.apache.commons.lang3.ArrayUtils;
        import org.apache.commons.lang3.StringUtils;
        import java.nio.ByteBuffer;
        import java.util.*;
/**
 * @author yzh
 * @date 2019-08-23 21:32
 */
public class Array {
    public static void main(String[] args) {
//        //创建数组的第一种方法
//        int[] arr=new int[6];
//        int intValue = arr[5];
//        System.out.println(arr[5]);
//
//        //创建数组的第二种方法
        int[] a = {23, 5, 65, 23, 45, 2, 4, 34, 8};
        int[] b = {0, 125, 90, 523};
//        System.out.println(a[4]);
//
//        //创建数组的第三种方法
//        int[] b = new int[]{23,5,65,23,45,2,34,8};
//        int m = 10;
//        boolean length = isLength(m,b);
//        if (length) {
//            System.out.println(b[m]);
//        }else {
//            System.out.println("数组越界");
//        }
        //供下面的方法测试用
        String[] stringArray = {"12", "aa", "aa", "e3", "3e3", "12"};
//
//        //判断数组是否相等
//        isEquals(a,b);

        //从控制台输入并且倒序输出
//        putIn();

//        //toString方法打印数组
//        arrToString(a);

//       //从数组中创建一个ArrayList
//        makeArraylist(stringArray);

        //把一个 ArrayList 转换成数组
//        arrayListToArray(stringArray);

        //把一个数组转换成 Set
//        ArrayToSet(stringArray);

        //检查数组是否包含某一个值
//        checkSomeone(stringArray);

        //数组合并
//        addArray(a,b);

        //用指定的分隔符连接数组元素
//        charWithArray(stringArray);

        //移除数组中的元素
//        removeArray(a);

        //把 int 转换成字节数组
        intToByte();
    }

    //判断数组是否越界
    public static boolean isLength(int m, int arr[]) {
        boolean flag = false;
        int length = arr.length;
        if (m < length) {
            flag = true;
        }
        return flag;
    }

    //判断数组是否相等
    public static void isEquals(int a[], int b[]) {
        if (Arrays.equals(a, b)) {
            System.out.println("这两个数组相等");
        } else {
            System.out.println("这两个数组不相等");
        }
    }

    //控制台输入数组并且倒序输出
    public static void putIn() {
        int[] arr = new int[5];
        Scanner input = new Scanner(System.in);
        for (int i = 0; i < arr.length; i++) {
            System.out.println("请输入第" + (i + 1) + "个数");
            arr[i] = input.nextInt();
        }
//        for (int i = arr.length-1;i >= 0; i--) {
//            System.out.println("倒序输出为:" + arr[i]);
//        }
        ArrayUtils.reverse(arr);
        System.out.println("倒序输出为:" + Arrays.toString(arr));
    }
    //toString方法打印数组
    public static void arrToString(int a[]) {
        System.out.println(Arrays.toString(a));
    }
    //从数组中创建一个ArrayList
    public static void makeArraylist(String stringArray[]) {
        ArrayList<String> arrayList = new ArrayList<String>(Arrays.asList(stringArray));
        System.out.println(arrayList);
    }
    //把一个 ArrayList 转换成数组
    public static void arrayListToArray(String stringArray[]) {
        ArrayList<String> arrayList = new ArrayList<String>(Arrays.asList(stringArray));
        String[] stringArr = new String[arrayList.size()];
        arrayList.toArray(stringArr);
        for (String s : stringArr) {
            System.out.println(s);
        }
    }

    //把一个数组转换成 Set
    public static void ArrayToSet(String stringArray[]) {
        Set<String> set = new HashSet<String>(Arrays.asList(stringArray));
        System.out.println(set);
    }

    //检查数组是否包含某一个值
    public static void checkSomeone(String stringArray[]) {
        boolean b = Arrays.asList(stringArray).contains("aa");
        System.out.println(b);
    }

    //数组合并
    public static void addArray(int a[], int b[]) {
        int[] sumArray = ArrayUtils.addAll(a, b);
        System.out.println(Arrays.toString(sumArray));
    }

    //用指定的分隔符连接数组元素
    public static void charWithArray(String stringArray[]) {
        String j = StringUtils.join(stringArray, "/");
        System.out.println(j);
    }

    //移除数组中的元素
    public static void removeArray(int a[]) {
        int[] removed = ArrayUtils.removeElement(a, 8);//新建一个数组
        System.out.println(Arrays.toString(removed));
    }

    //把 int 转换成字节数组
    public static void intToByte() {
        byte[] bytes = ByteBuffer.allocate(4).putInt(8).array();
        for (byte t : bytes) {
            System.out.format("0x%x ", t);
        }
    }
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

鲲志说

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

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

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

打赏作者

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

抵扣说明:

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

余额充值