该内容已被发布者删除 该内容被自由微信恢复。
文章于 2021年9月5日 被检测为删除。
被用户删除
近期技术热文
:
,
.
Video
Mini Program
Like
,轻点两下取消赞
Wow
,轻点两下取消在看
其他
和鸭哥一起看,Java数组声明及初始化的全貌
大家好,我是鸭哥。
数组是相同类型的、用一个标识符封装在一起的基本类型数据序列或对象序列,是最为常见的数据结构。鸭哥今天想聊聊数组的声明和初始化,它在我们的工作中使用频率最高,但是很多相关知识,很多人却未必了解全貌。
数组变量的创建
Java 中提供了两种数组声明风格,
//首选的方法
dataType[] arrayVar; //一维数组
dataType[][] arrayName; //二维数组
或者
//非首选,来自C/C++语言风格
dataType arrayVar[]; //一维
dataType arrayName[][]; //二维
使用 new 创建数组,
arrayVar = new dataType[size];
arrayName = new dataType[length1][length2];
第一行的代码做了两件事:先是创建了dataType[size] 数组,然后将新创建数组对象的引用赋值给arrayVar,即引用变量 arrayVar 引用了这个数组。
数组的声明和创建可以一条龙完成,这也是我们平时最常用的写法,
dataType arrayVar = new dataType[size];
数组变量的初始化
一维数组和多维数组的初始化方式是类似的,
//一维数组
int arr[] = new int[]{1, 2, 3, 4, 5}; //第一种初始化方法
int arr2[] = {1, 2, 3, 4, 5}; //第二种
String[] myStringArray = new String[]{"a", "b", "c"};
String[] myStringArray = {"a", "b", "c"};
//二维数组
int myArr[][] = new int[][]{{1, 3}, {2, 4}};
int myArr[][] = {{1, 3}, {2, 4}};
对于多维数组,还可以从最高维开始,分别为每一维分配空间,
String s[][] = new String[2][];
//最高维分配引用空间
s[0] = new String[2];
s[1] = new String[3];
s[0][0] = new String("Do");
s[0][1] = new String("you");
s[1][0] = new String("love");
s[1][1] = new String("Java");
s[1][2] = new String("?");
数组常用的操作技巧
整数数组的快捷初始化方法,
使用 fill() 方法将指定的 int 值分配给int型数组的每个元素
int[] array = new int[3];
// 填充数组
Arrays.fill(array, 8); //等价于array = {8, 8, 8}
使用 IntStream 进行初始化
int [] myIntArray = IntStream.range(0, 100).toArray(); //数组中的元素为0到99
int [] myIntArray = IntStream.rangeClosed(0, 100).toArray(); //数组中的元素为0到100
int [] myIntArray = IntStream.of(12,25,36,85,28,96,47).toArray(); //数组元素的顺序与初始化的顺序相同,等价于 myIntArray = {12,25,36,85,28,96,47};
//数组元素从小到大排序
int [] myIntArray = IntStream.of(12,25,36,85,28,96,47).sorted().toArray();
数组的复制,
Arrays 类的 copyOf() 方法和 copyOfRange() 方法可以实现进行数组的复制
//将arr数组复制给数组newArr,新数组的长度为 5
int[] arr = new int[]{12, 34, 45};
int[] newArr[] = Arrays.copyOf(arr, 5);
//将指定范围内的数组元素复制给新数组
int[] arr = new int[]{23, 34, 45, 46, 78};
int newArr[] = Arrays.copyOfRange(arr, 0, 3); //不包括末尾索引对应的元素,新数组的元素为{23, 34, 45}
数组的排序和查找,
Arrays 类的 sort() 方法可以对数组进行排序;查找数组元素可以通过 binarySearch() 方法,能对排序好的数组进行二分查找法操作
int arr[] = new int[]{4, 25, 10};
Arrays.sort(arr);
int index = Arrays.binarySearch(arr, 10); //index = 2,元素在数组中,返回所在位置的索引
int index2 = Arrays.binarySearch(arr, 8); //index1 = -2,数组中不存在查找元素,返回插入点索引的相反数
关于数组声明和初始化的内容就到这里,可能很多知识大家是知道的,但有了鸭哥的复盘,相信大家心中知识点的脉络和层次就更加清晰了。
在评论区聊聊你的思考吧~
2、放弃 StringBuilder!Java8的StringJoiner,真香!
点个在看你最好看