Java 数组常用方法

经常在用,却经常想不起名字。认真总结一份,常用的数组相关方法~
本文基于Mars老师的Java4Android视频,以及网络上的总结。

数组的定义方法

首先看一维数组的定义方法:
数组的静态声明法

int arr [] = {5,2,7,9,0};

// [] 写在前后都行,风格统一即可
int[] arr = {5,2,7,9,0};

//可用foreach输出

for (int x: arr) {
      System.out.println(x); // 2 4 6 8 10
}

数组的动态声明法

//和创建对象没有关系
//创建对象new后面是()
int[] arr= new int[10];
char[] arrChar = new char[10];

声明之后,默认值,int数组是0,char数组是空字符,boolean数组是false。

二维数组也是类似的。
二维数组,就是数组之中的元素,还是数组。

//静态声明法
int[][] arr = {{1,2,3},{4,5,6},{7,8}};
//动态声明法
int[][] arr1 = new int[3][5];
                 //输出时要用两层循环来取
for(int i = 0; i < arr.length; i++) {
    for(int j = 0; j < arr[i].length; j++) {
         System.out.println(arr[i][j]);
    }
}

数组的类型

  • 数组的类型不是数组中元素的类型,不要混淆。比如arr是整形数组类型,不是整形变量 。
  • 只要保证数组中存放的元素类型是一致的就行。int,double,char,对象,数组,都可以存在数组里。
    注意:数组一旦被声明,长度就不可改变了!!

数组的操作方法

Arrays类的静态方法很好用,需要import java.utils.Arrays
1、 Array.fill() 填充数组

// void fill(int[] a, int val)全部填充 
// void fill(int[] a, int fromIndex, int toIndex, int val)填充指定索引的元素

Arrays.fill(arr3, 10);
Arrays.fill(arr3, 1, 3, 8);

2、Arrays.sort() 对数组排序

//void sort(int[] a)全部排序 
//void sort(int[] a, int fromIndex, int toIndex)排序指定索引的元素
Arrays.sort(arr4);
Arrays.sort(arr5, 0, 5);

3、Arrays.copyOf() 复制数组

// int copyOf(int[] original, int newLength)复制数组,指定新数组长度 
// int[] copyOfRange(int[] original, int from, int to)复制数组,指定所复制的原数组的索引

int[] arr6 = Arrays.copyOf(arr5, 10);
int[] arr7 = Arrays.copyOfRange(arr5, 3, 9);

4、检查数组中是否包含某一个值

// 先使用Arrays.asList()将Array转换成List,
//再用动态链表的contains方法判断元素是否包含在链表中。
String stringArray [] = {"a","b","c","d"};
boolean b = Arrays.asList(stringArray).contains("c");

5、连接两个数组

int[] combinedIntArray = ArrayUtils.addAll(intArray, intArray2);

6、数组翻转

ArrayUtils.reverse(intArray);

7、从数组移除一个元素

int[] removed = ArrayUtils.removeElement(intArray, 3);

你可能感兴趣的:(Java 数组常用方法)