Arrays的工具类常用方法

1.Arrays.asList()方法

 public static <T> List<T> asList(T... a) {
        return new ArrayList<>(a);
    }

作用:由源代码可以看出Arrays.asList方法是将数组转换为List集合的方法,例:

List<String> namelist=Arrays.asList("喜羊羊","美羊羊","懒洋洋","沸羊羊","暖绵绵","灰太狼","红太狼");

注:1.Arrays.asList()方法适用于对象型数据的数组比如:String、Integer

2.Arrays.asList()的方法在与List的列表进行连接的时候一个更新另一个的随之更新

3.Arrays.asList()方法不能进行add,remove,clear

4.Arrays.asList()方法不建议使用基本数据类型(byte,short,long,int,float,double,boolean)

一般对列表进行遍历时使用Arrays.asList()方法。

2.Arrays.sort()方法

Arrays.sort()方法是对数组进行排序

  public static void sort(long[] a) {
        DualPivotQuicksort.sort(a, 0, a.length - 1, null, 0, 0);
    }

作用:对一个数组的所有元素进行排序按照从小到大的顺序;

参数:是需要排序的数组

注:Arrays.sort有多种使用方式可以,可以进行升序排列或逆序排列以及自定义排列

结果

逆序排序要传入:Comparator.reverseOrder()参数

public class Main {
	public static void main(String[] args) {
		Integer[] s= {1,9,6,8,5};
		Arrays.sort(s,Comparator.reverseOrder());
		System.out.println(Arrays.toString(s));
	}
}

结果:

还可以进行自定义排序:自定义排序时对象需要实现Comparable方法:

public class CustomObject implements Comparable<CustomObject> {
    private int value;
    @Override
    public int compareTo(CustomObject o) {
        return Integer.compare(this.value, o.value);
    }

    public static void main(String[] args) {
        CustomObject[] arr = {new CustomObject(5), new CustomObject(2), new CustomObject(9)};
        Arrays.sort(arr);
        System.out.println(Arrays.toString(arr));
    }
}

3.Arrays.binarySearch()方法

作用:该方法是在已经排好顺序的数组中进行元素的查找,并返回下标值。

参数:.Arrays.binarySearch()方法需要传入数组以及下标值

返回值:返回目标值的下标

先利用Array.sort进行排序,排序后利用.Arrays.binarySearch()传入数组contactArray和目标值target,最后找到数组中的laden并返回该元素在数组中的下标值3。

4.Arrays.toString()

Arrays.toString()方法是用于返回指定数组内容的字符串形式,用于打印数组内容或将其转化为字符串。

返回参数:返回一个字符串

  
public class Demo {  
    public static void main(String[] args) {  
        int[] arr = {1, 2, 3, 4, 5};  
        String result = Arrays.toString(arr);  
        System.out.println(result); // 输出: [1, 2, 3, 4, 5]  
    }  
}

注意:该方法的参数不能为null,否则会抛出空指针异常

5.Arrays.copyOf()方法

作用:用于复制制定的数组,也可以指定复制数组的范围。

参数:参数是新数组的长度以及原数组

public class CopyOfExample {  
    public static void main(String[] args) {  
        int[] original = {1, 2, 3, 4, 5};  
        int[] copy = Arrays.copyOf(original, 3);  
        System.out.println(Arrays.toString(copy)); // 输出: [1, 2, 3]  
  
        // 扩展数组长度  
        int[] extendedCopy = Arrays.copyOf(original, 7);  
        System.out.println(Arrays.toString(extendedCopy)); // 输出: [1, 2, 3, 4, 5, 0, 0]  
    }  
}

copyOf方法是调用了arraycopy()方法进行负责,并将复制结果赋给char[ ] 类型数组。

6.Arrays.copyOfRange()方法

作用:用于复制数组中的指定部分

参数:被复制数组,起始位置,结束位置

public static <T> T[] copyOfRange(T[] original, int from, int to)

返回:返回从原数组复制的从指定起始位置到指定结束位置的新数组

  public class CopyOfRangeExample {  
    public static void main(String[] args) {  
        int[] original = {1, 2, 3, 4, 5};  
        int[] subArray = Arrays.copyOfRange(original, 1, 4);  
        System.out.println(Arrays.toString(subArray)); // 输出: [2, 3, 4]  
    }  
}

7.Arrays.fill()方法

作用:将指定的值设置为数组的每个元素

返回值:返回数组内容

参数:数组和指定的数字

该方法会将数组 array中的每个元素都设置为 10

public class FillExample {  
    public static void main(String[] args) {  
        int[] array = new int[5];  
        Arrays.fill(array, 10);  
        System.out.println(Arrays.toString(array)); // 输出: [10, 10, 10, 10, 10]  
    }  
}

这段代码创建了一个长度为 5 的整型数组 array,然后使用 Arrays.fill() 方法将数组中的每个元素都设置为 10,并打印了数组的内容

注意:Arrays.fill() 方法会修改原始数组,而不是创建一个新数组。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值