Java 数组详解

1、概要
  数组就是相同数据类型的元素按一定顺序排列的集合,就是把有限个类型相同的变量用一个名字命名,然后用编号区分他们的变量的集合,这个名字称为数组名,编号称为下标。
  组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。
2、初始化数组

//2.1 动态初始化
int[] array = new int[3];
// 两种方式都可以
// int array[] = new int[3];
array[0] = 1;
array[1] = 2;
array[2] = 3; 
System.out.println(array[0]);

//2.2 静态初始化
int[] array = { 1, 2, 3, 4 };
int[] array1 = new int[] { 1, 2, 3, 4 };
System.out.println(array[2]);
System.out.println(array1[2]);

//2.3 默认初始化
int[] array = new int[4];
System.out.println(array[2]);

3、获取数组的长度

int[] array = new int[10];
int length = array.length;
System.out.println("数组array的长度是:" + length);

4、二维数组

//4.1 二维数组初始化
//同一维数组一样,共有4总不同形式的定义方法:
int[][] array1 = new int[10][10];
int array2[][] = new int[10][10];
int array3[][] = { { 1, 1, 1 }, { 2, 2, 2 } };
int array4[][] = new int[][] { { 1, 1, 1 }, { 2, 2, 2 } };

//4.2 不定长二维数组
int[][] array = new int[3][];
array[0] = new int[1];
array[1] = new int[2];
array[2] = new int[3];

//4.3 获取二维数组的长度
int length1 = array.length;
int length2 = array[0].length;
// 获取二维数组的第一维长度(3)
System.out.println(length1);
// 获取二维数组的第一维的第一个数组长度(1)
System.out.println(length2);

5、 数组遍历

/*5.1 传统方式遍历*/
int[] array = new int[] { 1, 2, 3 };
for (int i = 0; i < array.length; i++) {
    System.out.println("array[" + i + "] = " + array[i]);
}

/*5.2 增强for循环方式遍历*/
int[] array = new int[] { 1, 2, 3 };
for (int i : array) {
    System.out.println(i);
}

6、数组排序

int[] array = { 3, 2, 1, 4, 5 };
Arrays.sort(array);
System.out.println(Arrays.toString(array));
//另:常用的排序方法有冒泡排序、快速排序、选择排序、插入排序、希尔(Shell)排序、堆排序。可参考Java 数组排序

7、实用API

/*7.1 输出数组*/
int[] array = { 1, 2, 3 };
System.out.println(Arrays.toString(array));

/*7.2 数组转List*/
String[] array = { "a", "b", "c", "d", "e" };
List<String> list = new ArrayList<String>(Arrays.asList(array));
System.out.println(list);

/*7.3 数组转Set*/
String[] array = { "a", "b", "c", "d", "e" };
Set<String> set = new HashSet<String>(Arrays.asList(array));
System.out.println(set);

/*7.4 List转数组*/
List<String> list = new ArrayList<String>();
list.add("a");
list.add("b");
list.add("c");
String[] array = new String[list.size()];
list.toArray(array);
for (String s : array)
    System.out.println(s);

/*7.5 数组中是否包含某个值*/
String[] array = { "a", "b", "c", "d", "e" };
boolean b = Arrays.asList(array).contains("a");
System.out.println(b);

/*7.6 数组合并*/
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));

/*7.7 String数组转字符串(使用指定字符拼接)*/
String[] array = { "a", "b", "c" };
String str = org.apache.commons.lang.StringUtils.join(array, ", ");
System.out.println(str);

/*7.8 数组逆序*/
int[] array = { 1, 2, 3, 4, 5 };
org.apache.commons.lang.ArrayUtils.reverse(array);
System.out.println(Arrays.toString(array));

/*7.9 数组元素移除*/
int[] array = { 1, 2, 3, 4, 5 };
int[] removed = org.apache.commons.lang.ArrayUtils.removeElement(array, 3);
System.out.println(Arrays.toString(removed));

8、数组异常
数组下标越界异常,java.lang.ArrayIndexOutOfBoundsException。在java中,数组下标从0开始,我们定义了一个长度为3的数组,想要从中取出第四位,便会抛出此异常。

int[] array = new int[] { 1, 2, 3 };
System.out.println(array[3]);//java.lang.ArrayIndexOutOfBoundsException
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值