java数组常用方法

package com.wqm;

import com.wqm.entity.pojo.TUser;

import java.util.Arrays;
import java.util.List;

/**
 * @Auther: wangqinmin
 * @Date: 2018/11/19 14:28
 * @Description: 无聊看看
 */
public class ArrayTest {

    public static void main(String[] args) {

        // 定义一个常量
        final String EMPTY = ",";

        // 数组的定义 我只喜欢这种格式
        String[] strs = {"Larry", "Moe", "Curly"};
        Integer[] ines = {2, 5, 6, 3, 1, 4, 2};
        Integer[] ins = {2, 5, 6, 3, 1, 4, 2};
        TUser[] users = {new TUser(), new TUser()};
        TUser[] user = {new TUser(), new TUser()};
        users = null;
        user = null;

        // 数组的遍历
        System.out.print("数组遍历: ");
        for (int a = 0; a < strs.length; a++) {
            if (a == strs.length - 1) {
                System.out.print(strs[a]);
                System.out.println();
            } else {
                System.out.print(strs[a] + ",");
            }
        }

        // java增强for数组遍历
        System.out.print("增强for遍历: ");
        StringBuffer sb = new StringBuffer();
        for (String data : strs) {
            sb.append(data);
            sb.append(EMPTY);
        }
        sb.deleteCharAt(sb.length() - 1);
        System.out.print(sb.toString());
        System.out.println();

        /**
         * Arrays常用方法
         */
        // 未排序
        System.out.println("未排序: " + Arrays.toString(ins));

        // 指定位置排序 sort(int[] a, int fromIndex, int toIndex)
        Arrays.sort(ins, 1, 4);
        System.out.println("Arrays指定位置排序并toString: " + Arrays.toString(ins));

        // 排序
        Arrays.sort(ins);

        // toString
        String sortIns = Arrays.toString(ins);
        System.out.println("Arrays排序并toString: " + sortIns);

        // 返回list集合
        List<Integer> listInt = Arrays.asList(ins);
        List<String> stooges = Arrays.asList("Larry", "Moe", "Curly");
        System.out.println("集合打印: " + listInt);
        System.out.println("集合打印: " + stooges);

        // 使用二分法查找数组中元素的位置
        int i = Arrays.binarySearch(ins, 10);
        System.out.print("二分法查找数组中该元素的位置: " + i);
        if (i < 0) {
            System.out.print(", 若为负数,则" + Math.abs(i) + "代表可以被插入的位置(记得-1)");
        }
        System.out.println();

        // copy该数组到指定位置
        Integer[] integers = Arrays.copyOf(ins, 10);
        System.out.println("copy该数组到指定位置: " + Arrays.toString(integers));

        // 截取该数组
        Integer[] integers1 = Arrays.copyOfRange(ins, 2, 4);
        System.out.println("截取该数组: " + Arrays.toString(integers1));

        // 如果两个指定数组彼此是深层相等,相等则返回 true。
        boolean b = Arrays.deepEquals(users, user);
        System.out.println("数组" + users + "与数组" + user + "是否深层相等: " + b);

        // 比较2个数组彼此是否相等(没用到,不知道和deepEqusls区别)
        //boolean equals = Arrays.equals(ines, ins);
        boolean equals = Arrays.equals(users, user);
        System.out.println(equals);

        // 指定数组“深层内容”的字符串表示形式
        String s = Arrays.deepToString(user);
        System.out.println("深层内容”的字符串表示" + s);

        // 基于指定数组的“深层内容”返回哈希码
        int i1 = Arrays.deepHashCode(user);
        System.out.println("深层内容”返回哈希码: " + i1);

        // 将指定数据分配到数组中,相当于替换数组中所有数据
        Arrays.fill(integers, 2);
        // fill替换功能: [2, 2, 2, 2, 2, 2, 2, 2, 2, 2]
        System.out.println("fill替换功能: " + Arrays.toString(integers));
        // fill(int[] a, int fromIndex, int toIndex, int val)
        Arrays.fill(integers, 1, 3, 5);
        // fill指定位置替换功能: [2, 5, 5, 2, 2, 2, 2, 2, 2, 2]
        System.out.println("fill指定位置替换功能: " + Arrays.toString(integers));


    }
}

猜你喜欢

转载自blog.csdn.net/chuxin_mm/article/details/84285904