JAVA SE Array(数组)
程序员文章站
2022-06-09 21:38:51
...
简介
数组:有序的元素序列。
数组名:有限个类型相同的变量的集合的命名。
数组的元素:组成数组的各个变量。
数组的下标:用于区分数组的各个元素的数字编号。
操作数组的四个步骤
1、声明或定义数组
数据类型[] 数组名;
或者
数据类型 数组名[];
eg.:
int[] scores;
double height[];//不建议这样定义
String [] names;
2、分配内存空间
数组名 = new 数据类型 [ 数组长度 ];
eg.:
socres = new int [10];
我们也可以同时对数组进行声明时分配空间
eg.:
int[] scores = new int[10];
3、对数组元素进行赋值
分配内存空间后就可以对数组元素进行赋值
scores[0] = 90;
scores[9] = 60;
我们也可以同时对数组声明、分配空间和赋值
int[] scores = {78,91,84,68};
或者
int[] scores = new int[]{78,91,84,68};
4、处理数组中的数据
遍历操作
for(int i : scores){
System.out.println(i);//遍历输出数组
}
或
for(int i = 0; i < scores.length; i++){//数组名.length:获取数组长度
System.out.println(scores[i]);//遍历输出数组
}
常用操作类——Arrays
- 用来操作数组(比如排序和搜索)的各种方法。
- 包含一个允许将数组作为列表来查看的静态工厂。
方法:
- static <T> List<T> asList(T... a) //返回一个受指定数组支持的固定大小的列表
- static <T> int binarySearch(T[] a, int fromIndex, int toIndex, T key, Comparator<? super T> c) //使用二分搜索法来搜索指定数组的范围,以获得指定对象
- static <T> int binarySearch(T[] a, T key, Comparator<? super T> c) //使用二分搜索法来搜索指定数组,以获得指定对象
- static <T> T[] copyOf(T[] original, int newLength) //复制指定的数组,截取或用 null 填充(如有必要),以使副本具有指定的长度
- static <T> T[] copyOfRange(T[] original, int from, int to) //将指定数组的指定范围复制到一个新数组
- static boolean deepEquals(Object[] a1, Object[] a2) //如果两个指定数组彼此是深层相等 的,则返回 true
- static void fill(Object[] a, int fromIndex, int toIndex, Object val) //将指定的 Object 引用分配给指定 Object 数组指定范围中的每个元素
- static <T> void sort(T[] a, Comparator<? super T> c) //根据指定比较器产生的顺序对指定对象数组进行排序
- static <T> void sort(T[] a, int fromIndex, int toIndex, Comparator<? super T> c) //根据指定比较器产生的顺序对指定对象数组的指定范围进行排序
- static String toString(Object[] a) //返回指定数组内容的字符串表示形式
应用
注意事项
- 数组下标从0开始
- 数组下标的范围是 0 ~(数组长度-1)
二维数组的操作
1、声明数组并分配空间
数据类型[][] 数组名 = new 数组类型[行的个数][列的个数];
或者
数据类型 数组名[][];
数组名 = new 数组类型[行的个数][列的个数];
eg.:
int [ ][ ] num = new int[2][3]; //定义一个2行3列的二维数组
2、赋值
数组名 [行的索引][列的索引] = 值;
eg.:
num[0][0] = 0;
我们也可以声明时同时赋值
数据类型[][] 数组名 = {{值1,值2...},{值11,值22...},{值21,值22...}};
3、处理数组
遍历数组
for(int i = 0; i < num.length; i++){
for(int j = 0; j < num[i].length; j++){
System.out.print(num[i][j]);
}
System.out.println();
}
参考资料:https://www.imooc.com/learn/85
上一篇: Java SE 学习笔记
下一篇: Java动态代理