Java--数组
【摘要】 Array 类数据的集合。本质是一个对象,数据存储在堆区,由引用指向数组首个元素的地址。创建数组创建数组时,必须确定数组长度和类型。但如果储存的是基本类型,允许不赋初值(使用默认值)。int[] arr = new int[4]; // 方法一int[] arr = {1,2,3,4}; // 方法二int[] a...
Array 类
数据的集合。本质是一个对象,数据存储在堆区,由引用指向数组首个元素的地址。
创建数组
创建数组时,必须确定数组长度和类型。但如果储存的是基本类型,允许不赋初值(使用默认值)。
int[] arr = new int[4]; // 方法一
int[] arr = {1,2,3,4}; // 方法二
int[] arr = new int[]{1,2,3,4}; // 方法三Copy to clipboardErrorCopied
数组长度:在数组对象中,定义了 length 属性记录了数组长度。
int len = arr.length; // 返回数组长度 Copy to clipboardErrorCopied
Arrays 类
对数组进行操作的辅助类,实现了对数组的常用操作。
数组排序
sort 方法:可以对数组排序,默认数组数值从小到大排列,用户可以自定义排列顺序,
Arrays.sort(arr); // 数组排序Copy to clipboardErrorCopied
数组复制
copyOf/copyOfRange 方法:复制数组。底层调用 System.arrayCopy 的本地方法实现,常用于数组扩容。
int[] arr1 = Arrays.copyOf(arr, 10); // 复制数组:前 10 个单位
int[] arr2 = Arrays.copyOf(arr, 0, arr.length); // 复制数组:从 0 到 arr.length - 1Copy to clipboardErrorCopied
数组转化
asList 方法:将数组转化为列表(List 类),但数组数据必须是包装类型。
调用该方法将数组转换为列表后,在内存中实际还是以数组形式存储。这可能会导致以下两个问题:
- 调用 List 类的 add 方法向列表中插入数据,会导致异常;
- 对原数组进行更改,也会导致列表中的数据发生变化。
arr[] = new Integer[]{1, 2, 3, 4}; // 数组必须是包装数据类型
List list = Arrays.asList(arr); // 将数组转换为集合(有问题)
List list = new ArrayList<>(Arrays.asList(arr)); // 将数组转换为集合(推荐) Copy to clipboardErrorCopied
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)