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

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

今晚回顾了一下数组的常用方法,撸了一些代码总结一下,感觉又收获不少

直接上代码吧,主要是便于自己复习和记忆

创建数组的三种方法:

        //创建数组的第一种方法
        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月前
|
Java 索引
JAVA数组的常用方法
JAVA数组的常用方法
19 1
|
8月前
|
JavaScript
【JS面向对象编程常用方法】
【JS面向对象编程常用方法】
35 0
|
5月前
|
存储 算法 Java
集合工具类的常用方法--小总和
集合工具类的常用方法--小总和
30 0
static 和数组工具类和数学工具类
static 和数组工具类和数学工具类
|
7月前
|
Java
Java数组工具类
数组工具类
42 0
|
8月前
|
索引
Arrays工具类的常用方法
Arrays工具类的常用方法
49 0
|
8月前
|
JavaScript 前端开发
数组常用方法
数组常用方法
45 0
|
9月前
【常用方法C】
【常用方法C】
|
9月前
|
存储 C# 索引
C#视频—集合常用方法
C#视频—集合常用方法
|
10月前
|
存储 人工智能 算法
唯一分解定理常用方法
唯一分解定理常用方法
86 0