1. 数组扩充长度
1:
//digits 为原数组
digits = new int[digits.length + 1];
digits[0] = 1;
return digits;
2:
int[] digits1 = Arrays.copyOf(digits, digits.length+1);
digits1[0] = 1;
return digits1
3:
替换空格
class Solution {
public:
string replaceSpace(string s) {
//字符数组
string array; //存储结果
for(auto &c : s){
//遍历原字符串
if(c == ' '){
array.push_back('%');
array.push_back('2');
array.push_back('0');
}
else{
array.push_back(c);
}
}
return array;
}
};
String s = new String(char数组, 起始下标, 长度);
2. 复制数组
1:
直接赋值:数组地址会变,就不是原地使数组变化啦
nums = newArr
//直接赋值,数组地址会变,就不是原地使数组变化啦
2:
使用System.arraycopy
public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
object src : 原数组
int srcPos : 起始位置
Object dest : 目标数组(复制原数组到目标数组)
int destPos : 目标数组起始位置
int length : 要copy的数组的长度
System.arraycopy(newArr, 0, nums, 0, n);
将数组newArr的值复制到nums
从newArr的0开始复制到nums的0开始,总共复制n位
3. Array方法
Arrays.asList:
- 该方法是将数组转化成List集合的方法。
- List list = Arrays.asList(“a”,“b”,“c”);
- 用此方法得到的List的长度是不可改变的,
Arrays.sort(数组名):
- 对数组进行升序排序
Arrays.sort对二维数组排序:
Arrays.sort(time, (a, b) -> a[0] - b[0])
Arrays.toString()方法::
- 将一个数组array转换成一个字符串
int [] arr3={
12,21,13,24};
System.out.print(Arrays.toString(arr3));
Arrays.deepToString()方法::
主要用于数组中还有数组的情况,而Arrays.toString()则相反,对于Arrays.toString()而言,当数组中有数组时,不会打印出数组中的内容,只会以地址的形式打印出来。
int b[][] = {
{
1, 2, 3}, {
4, 5, 6}};
System.out.println(Arrays.toString(b));
System.out.println(Arrays.deepToString(b));
[[I@14ae5a5, [I@7f31245a]
[[1, 2, 3], [4, 5, 6]]
Arrays.copyOf()方法:
- 把数组array复制成一个长度为length的新数组,返回类型与复制的数组一致
int [] arr3={
12,21,13,24};
int arr[]=Arrays.copyOf(arr3, 6);
for(int i=0;i<arr.length;i++){
System.out.print(arr[i]+" ");
}
Arrays.equals()方法:
- 比较两个数组是否相等
int [] arr1={
12,21,13};
int [] arr2={
12,