目录:

  • 1.Arrays类
  • 2.Arrays常用方法
  • (1) asList(T... a):主要用于遍历
  • (2) fill()
  • (3) copyOf() && copyOfRange()
  • (4) equals()
  • (5) sort()
  • (6) binarySearch()


1.Arrays类

array java 格式传输 arrays java_开发语言

  • Arrays位于java.util包下(Arrays是一个操作数组的工具类)
  • Arrays包含各种操作数组的方法(例如排序和搜索)。该类还包含一个静态工厂,允许将数组视为列表。
  • Arrays类里的方法都是静态方法可以通过Arrays.方法名()直接调用

2.Arrays常用方法

(1) asList(T… a):主要用于遍历

List<String> list = Arrays.asList("a","b","c");
  • 该方法适用于对象型数据的数组(String、Integer…)
  • 该方法不建议使用于基本数据类型的数组(byte,short,int,long,float,double,boolean)
  • 该方法将数组与List列表链接起来:当更新其一个时,另一个自动更新
  • 不支持add()、remove()、clear()等方法

运行效果:

array java 格式传输 arrays java_开发语言_02

(2) fill()

给定特定值val,使整个数组中或者某下标范围内的元素值为val。

array java 格式传输 arrays java_后端_03

代码实例:

import java.util.Arrays;
public class ArraysTest04
{
	public static void main(String[] args)
	{
		int[] a = new int[7];
		int[] b = new int[7];
		Arrays.fill(a,3);
		Arrays.fill(b,3,5,6);
		
		for(int i = 0;i<a.length;i++)
		{
			System.out.print(a[i]+",");
		}
		System.out.print("\n");
		for(int i = 0;i<b.length;i++)
		{
			System.out.print(b[i]+",");
		}
		System.out.print("\n");
	}
}

运行效果:

array java 格式传输 arrays java_java_04

(3) copyOf() && copyOfRange()

  • copyOf():将原始数组的元素,复制到新的数组中,可以设置复制的长度(即需要被复制的元素个数)。
  • array java 格式传输 arrays java_array java 格式传输_05

  • copyOfRange():将某个范围内的元素复制到新的数组中。
  • array java 格式传输 arrays java_array java 格式传输_06

代码实例:

import java.util.Arrays;
public class ArraysTest03
{
	public static void main(String[] args)
	{
		int[] a = {1,3,5,3,6,7};
		int[] b;
		int[] c;
		int[] d;
		System.out.println("-----------原始数组---------");
		for(int i = 0;i<a.length;i++)
		{
			System.out.print(a[i]+",");
		}
		System.out.print("\n");
		
		b = Arrays.copyOf(a,7);//将a数组的内容复制到b数组中,如果新的数组长度大于原来数组的长度,那么用0来填充
		c = Arrays.copyOf(a,3);
		d = Arrays.copyOfRange(a,2,4);
		System.out.println("-----------复制数组---------");
		for(int i = 0;i<b.length;i++)
		{
			System.out.print(b[i]+",");
		}
		System.out.print("\n");
		
		
		for(int i = 0;i<c.length;i++)
		{
			System.out.print(c[i]+",");
		}
		System.out.print("\n");
		
		for(int i = 0;i<d.length;i++)
		{
			System.out.print(d[i]+",");
		}
		System.out.print("\n");
		
	}
}

运行效果:

array java 格式传输 arrays java_java_07

(4) equals()

判断两个数组中的元素是否一一对应相等。

代码实例:

import java.util.Arrays;
public class ArraaysTest05
{
public static void main(String[] args)
{
	int[] a = new int[]{1,2,3};
	int[] b = null;
	int[] c = new int[]{};
	int[] d = new int[]{1,2,3};
	
	System.out.println(Arrays.equals(a,b));
	System.out.println(Arrays.equals(a,c));
	System.out.println(Arrays.equals(a,d));
	System.out.println(Arrays.equals(b,c));
	System.out.println(Arrays.equals(b,d));
	System.out.println(Arrays.equals(c,d));
}
}

运行效果:

array java 格式传输 arrays java_后端_08

(5) sort()

对数组进行升序排序,排序后 ,数组中存放的是排序后的结果。

array java 格式传输 arrays java_System_09


代码实例:

import java.util.Arrays;
public class ArraysTest05
{
public static void main(String[] args)
{
	int[] a ={34,56,23,565,23,-56};
	
	Arrays.sort(a);
	
	for(int i = 0;i<a.length;i++)
	{
		System.out.print(a[i]+",");
	}
	System.out.print("\n");
}
}

运行效果:

array java 格式传输 arrays java_后端_10

(6) binarySearch()

对排序好的数组,采用二分查找的方式查找某个元素,可以在整个数组中查找,也可以在某个范围内查找。

array java 格式传输 arrays java_后端_11

代码实例:

import java.util.Arrays;

public class ArraysTest02
{
	public static void main(String[] args)
	{
		int[] a = {1,45,78,23,123,98,67,12,90,56};
		
		System.out.println("-----------原始数组---------");
		for(int i = 0;i<a.length;i++)
		{
			System.out.print(a[i]+",");
		}
		System.out.print("\n");
		
		
		Arrays.sort(a);
		System.out.println("-----------排序后数组---------");
		for(int i = 0;i<a.length;i++)
		{
			System.out.print(a[i]+",");
		}
		System.out.print("\n");
		System.out.print("在整个数组中寻找:");
		System.out.println(Arrays.binarySearch(a,78));
		System.out.print("在局部范围内寻找:");
		System.out.println(Arrays.binarySearch(a,4,7,1));
		
	}
}

运行效果:

array java 格式传输 arrays java_System_12

本篇博客主要对Java Arrays工具类用法详解进行学习!