如何快速在数组尾部插入一个数据(java)

题目

在数组尾部插入一个数据。
测试举例:
    尾插前:1 2 3
    尾插后:1 2 3 99

思路:

我们知道数组是内存中一块连续的区域,一经开辟,不能随意调整大小,只能新开辟空间。
借助Arrays.copyOf()函数可以快速调整数组大小,进而在尾部插入一个数据。

代码:

import java.util.Arrays;
public class Main {
    
    
	public static int[] insertTail(int[] arr, int value) {
    
     // 1 2 3 [value]
		// 参数安全检测 int[] 引用数据类型 默认值 null
		if (arr == null) {
    
    
			return null;
		}
		// 1. 扩容+1
		arr = Arrays.copyOf(arr, arr.length + 1);
		// 2. 向arr 尾部添加一个数据value
		arr[arr.length - 1] = value;
		return arr;
	}

	public static void main(String[] args) {
    
    
		int[] arr = {
    
     1, 2, 3 };
		arr = insertTail(arr, 99);
		System.out.println(Arrays.toString(arr));
	}
}

猜你喜欢

转载自blog.csdn.net/qq_41571459/article/details/113094759