search
HomeJavaJavagetting StartedHow to copy an array in java

How to copy an array in java

Oct 19, 2020 pm 04:52 PM
javaarray

How to copy an array in java

1. Array lengths are equal

Assume that nums and nums1 are two arrays of equal length.

(Recommended tutorial: java course)

1.1. Use nums = nums1;

before assignment

How to copy an array in java

After assignment

How to copy an array in java

When nums is created, a memory area is created in the heap for storage, and nums points to this memory address A. After nums1 is created, it points to B.

Now let nums = nums1; then the address (or reference) of num1 is assigned to num, so num also points to B. Both arrays point to the same memory area in the heap, and they share the data inside.

1.2, for loop

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

Before the loop

How to copy an array in java

##After the loop

How to copy an array in java

Successfully changed the internal contents of the nums array without changing its reference.

1.3, Arrays class

Method 1: Copy the specified array to the specified length

nums = Arrays.copyOf(nums1,5);

Method 2: Copy the specified length of the specified array

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

Two kinds The last index of the method can be > the length of the array, and then 0 will be added to the rest.

Both methods can successfully copy the array, and we found that the original array nums changed from 524 to 526, indicating that these two copy methods create a new array, and then use the array on the left of the equal sign to point to this new array.

How to copy an array in java

1.4. System.arraycopy method

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

How to copy an array in java

It can be seen that this method is similar to our for loop, which is The contents of the original array are directly changed without changing the reference.

2. Array lengths are not equal

赋值法成功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入门

The above is the detailed content of How to copy an array in java. For more information, please follow other related articles on the PHP Chinese website!

Statement
This article is reproduced at:csdn. If there is any infringement, please contact admin@php.cn delete

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
4 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
4 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. How to Fix Audio if You Can't Hear Anyone
1 months agoBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat Commands and How to Use Them
1 months agoBy尊渡假赌尊渡假赌尊渡假赌

Hot Tools

WebStorm Mac version

WebStorm Mac version

Useful JavaScript development tools

EditPlus Chinese cracked version

EditPlus Chinese cracked version

Small size, syntax highlighting, does not support code prompt function

Dreamweaver Mac version

Dreamweaver Mac version

Visual web development tools

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Integrate Eclipse with SAP NetWeaver application server.