数组进阶
System.out.println(Arrays.toString(names));
ArrayList : 容器类型
特点 : 可以存储重复数据,有序的,可以根据索引进行操作的,长度可以根据需求对数据增删动态的进行改变
使用 :
1.创建ArrayList对象
2.通过方法操作集合
HashSet : 容器类型
特点 : 不能存储重复数据(去重),无序的,无能根据索引操作,长度可以根据需求对数据增删动态的进行改变
二维数组 : 了解
数组中存放数组
声明 :
数据类型[][] 数组名;
初始化 :
动态初始化 :
先创建数组,然后再赋值
数据类型[][] 数组名 = new 数据类型[外层二维数组长度][内层每一个一维数组长度];
-->外层的二维数组与内层一维数组同时创建
内层的每一个一维数组长度固定
数据类型[][] 数组名 = new 数据类型[外层二维数组长度][];
二维数组名[外层二维数组长度] = 一维数组的创建;
静态初始化 :
数据类型[][] 数组名 = new 数据类型[][]{{值列表},{值列表},{值列表}....};
操作 :
二维数组名[外层二维的索引][内层一维的索引]
Arrays 工具类:
操作数组功能的工具类
static String toString(int[] a)
返回指定数组内容的字符串表示形式。
static String deepToString(Object[] a)
返回指定数组的“深层内容”的字符串表示形式。
static boolean equals(int[] a, int[] a2)
如果两个指定的整数数组彼此相等,则返回true 。
static boolean equals(int[] a, int aFromIndex, int aToIndex, int[] b, int bFromIndex, int bToIndex)
如果指定范围内的两个指定整数数组彼此相等,则返回 true。 注意 : 结束索引位置不包含
static boolean deepEquals(Object[] a1, Object[] a2)
如果两个指定的数组彼此深度相等,则返回true 。
static void sort(int[] a)
将指定的数组按数字升序排序。
static void sort(int[] a, int fromIndex, int toIndex)
将数组的指定范围按升序排序。
static int binarySearch(int[] a, int key)
使用二进制搜索算法在指定的整数数组中搜索指定的值。 前提使用要求先升序排序 ,如果不存在返回-插入点-1
static void fill(int[] a, int val)
将指定的 int 值分配给指定的 int 数组的每个元素。
static void fill(int[] a, int fromIndex, int toIndex, int val)
将指定的 int 值分配给指定 int 数组的指定范围的每个元素。
Arrays 工具类中数组拷贝相关方法
static int[] copyOf(int[] original, int newLength) 复制指定的数组,用零截断或填充(如有必要),以便副本具有指定的长度。
original : 原数组
newLength : 新数组长度
newLength = original.length 拷贝
newLength < original.length 截取
newLength > original.length 填充
特点 :
新数组在copyOf方法内部创建
拷贝数据默认从原数组索引为0位置开始拷贝
static int[] copyOfRange(int[] original, int from, int to) 将指定数组的指定范围复制到新数组中。
original 原数组
from : 起始索引
to : 结束索引
特点 :
新数组在copyOfRange方法内部创建
可以拷贝原数组指定索引范围内的数据
static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length)将指定源数组中的数组从指定位置开始复制到目标数组的指定位置。
数组进阶Java
最新推荐文章于 2025-03-14 09:22:38 发布
6678

被折叠的 条评论
为什么被折叠?



