91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

java復制數組的案例

發布時間:2020-10-20 14:19:40 來源:億速云 閱讀:164 作者:小新 欄目:編程語言

小編給大家分享一下java復制數組的案例,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!

1、數組長度相等

假設nums和nums1是長度相等的兩個數組。

1.1、用nums = nums1;

賦值前

java復制數組的案例

賦值后

java復制數組的案例

nums創建的時候在堆里面創建一塊內存區域用來存儲,nums指向這個內存地址A。nums1創建后指向B。

現在令nums = nums1;則把num1的地址(或者說是引用)賦給了num,所以num也指向了B。兩個數組都指向堆中同一個內存區域,他們是共享里面的數據。

1.2、for循環

        for (int i = 0; i < nums1.length; i++){
            nums[i] = nums1[i];
        }

循環前

java復制數組的案例

循環后

java復制數組的案例

成功改變nums數組內部內容,而沒有改變其引用。

1.3、Arrays類

方法1:復制指定數組至指定長度

nums = Arrays.copyOf(nums1,5);

方法2:復制指定數組的指定長度

nums = Arrays.copyOfRange(nums1,0,5);

兩種方法最后的索引都可以>數組的長度,然后后面的都會補上0。

兩種方法都可以成功復制數組,而且我們發現原數組nums從524變成了526,說明這兩種復制方法是創建了一個新數組,然后用等號左邊的數組指向這個新數組。

java復制數組的案例

1.4、System.arraycopy方法

System.arraycopy(originalArray, 0, targetArray, 0, originalArray.length);

java復制數組的案例

可以看出這個方法類似于我們的for循環,是直接改原來數組的內容,沒有改引用。

2、數組長度不等

賦值法成功for循環要注意越界問題,會報java.lang.ArrayIndexOutOfBoundsExceptionArrays類法成功注意越界問題,會報java.lang.ArrayIndexOutOfBoundsException

其他:

給定一個數組 nums,編寫一個函數將所有 0 移動到數組的末尾,同時保持非零元素的相對順序。

   //思路:設置一個index,表示非0數的個數,循環遍歷數組,
    // 如果不是0,將非0值移動到第index位置,然后index + 1
    //遍歷結束之后,index值表示為非0的個數,再次遍歷,從index位置后的位置此時都應該為0
    public void moveZeroes(int[] nums) {
        if (nums == null || nums.length <= 1) {
            return;
        }
        int index = 0;
        for (int i = 0; i < nums.length; i++) {
            if (nums[i] != 0) {
                nums[index] = nums[i];
                index++;
            }
        }

        for (int i = index; i < nums.length; i++) {
            nums[i] = 0;
        }
    }

看完了這篇文章,相信你對java復制數組的案例有了一定的了解,想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

宜昌市| 拜泉县| 襄城县| 胶南市| 米脂县| 九龙县| 武威市| 深泽县| 闽侯县| 鄢陵县| 博兴县| 宁国市| 高邮市| 乡宁县| 天峻县| 马尔康县| 大埔县| 安福县| 公主岭市| 静海县| 衡南县| 南和县| 龙陵县| 东乌珠穆沁旗| 穆棱市| 方城县| 浪卡子县| 响水县| 湘阴县| 武安市| 绥滨县| 山东省| 定安县| 昌平区| 四子王旗| 武宁县| 蕉岭县| 麻城市| 张家界市| 通城县| 龙泉市|