所谓数组,是有序的元素序列。 若将有限个类型相同的变量的集合命名,那么这个名称为数组名。组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。用于区分数组的各个元素的数字编号称为下标。数组是在程序设计中,为了处理方便, 把具有相同类型的若干元素按无序的形式组织起来的一种形式。这些无序排列的同类数据元素的集合称为数组。
数组是用于储存多个相同类型数据的集合,数组有一维数组,二维数组,多维数组等
一维数组的初始化和定义
//动态初始化
int[] arr = new int[3];
arr[0] = 100;
arr[1] = 200;
arr[2] = 300;
//静态初始化
int[] arr = {100,200,300};
int[] arr1 = new int[]{100,200,300};
//默认赋值初始化
int[] array = new int[10];
//获取数组的长度
int[] arr = new int[10];
int length = arr.length;
System.out.println("数组长度:"+length);
二维数组的定义以及如何初始化
//动态初始化
int[][] arr = new int[3][3];
arr[0][1] = 100;
arr[1][1] = 200;
arr[2][1] = 300;
//静态初始化
int[][] arr = {{100,200,300},{100,200,300}};
//默认赋值初始化
int[][] array = new int[][]{{100,200,300},{100,200,300}};
//不定长二维数组的定义如下:
int[][] array = new int[3][];
array[0] = new int[1];
array[1] = new int[2];
array[2] = new int[3];
//获取二维数组的长度
int length1 = array.length;
int length2 = array[0].length;
// 获取二维数组的第一维长度(3)
System.out.println(length1);
// 获取二维数组的第一维的第一个数组长度(1)
System.out.println(length2);
数组的常用API及用法
//数组输出为字符串
int[] array = { 1, 2, 3 };
System.out.println(Arrays.toString(array));
//数组转Set集合
String[] array = { "a", "b", "c", "d", "e" };
Set set = new HashSet(Arrays.asList(array));
//数组转List集合
String[] array = { "a", "b", "c", "d", "e" };
List list = new ArrayList(Arrays.asList(array));
//List集合转数组
List list = new ArrayList();
list.add("a3");
list.add("b4");
list.add("c5");
String[] array = new String[list.size()];
list.toArray(array);
for (String s : array){
System.out.println(s);
}
//判断数组中是否包含某个值
String[] array = { "a", "b", "c", "d", "e" };
boolean b = Arrays.asList(array).contains("a");
if(b){
//包含
}else{
//不包含
}
//两个数组合并成一个
int[] array1 = { 1, 2, 3, 4, 5 };
int[] array2 = { 6, 7, 8, 9, 10 };
int[] array = org.apache.commons.lang.ArrayUtils.addAll(array1, array2);
System.out.println(Arrays.toString(array));
//String数组转字符串
String[] array = { "a", "b", "c" };
String str = org.apache.commons.lang.StringUtils.join(array, ", ");
System.out.println(str);
//数组逆序
int[] array = { 1, 2, 3, 4, 5 };
org.apache.commons.lang.ArrayUtils.reverse(array);
System.out.println(Arrays.toString(array));
//数组元素移除
int[] array = { 1, 2, 3, 4, 5 };
int[] removed = org.apache.commons.lang.ArrayUtils.removeElement(array, 3);
System.out.println(Arrays.toString(removed));
//利用for循环对数组元素进行移除
public static void main(String[] args) {
//定义一个数组
int[] arr = {1,2,3,4};
//删除其中某个元素并且打印在控制台
printArray(deleteArrElement(arr,2));
}
/**
* 打印数组
* @param arr
*/
public static void printArray(int[] arr) {
for (int i : arr) {
System.out.print(i+"\t");
}
}
/***
* 对数组指定元素进行删除,并且返回删除后的数组
* @param arr
* @param element
* @return
*/
public static int[] deleteArrElement(int[] arr,int element) {
int[] tmp = new int[arr.length-1];
int n = 0;
for(int i=0;i
if(arr[i] != element) {
tmp[n++] = arr[i];
}
}
return tmp;
}
以上为数组的常用用法和用途,如有错误请大佬指出,如需讨论技术可以私聊我。