1. 程式人生 > >使用System.arraycopy()實現陣列之間的複製

使用System.arraycopy()實現陣列之間的複製

System提供了一個靜態方法arraycopy(),我們可以使用它來實現陣列之間的複製。其函式原型是:
public static void (Object src,
                             int srcPos,
                             Object dest,
                             int destPos,
                             int length)
src:源陣列;	srcPos:源陣列要複製的起始位置;
dest:目的陣列;	destPos:目的陣列放置的起始位置;	length:複製的長度。
注意:src and dest都必須是同類型或者可以進行轉換型別的陣列.
有趣的是這個函式可以實現自己到自己複製,比如:
int[] fun ={0,1,2,3,4,5,6}; 
System.arraycopy(fun,0,fun,3,3);
則結果為:{0,1,2,0,1,2,6};
實現過程是這樣的,先生成一個長度為length的臨時陣列,將fun陣列中srcPos 
到srcPos+length-1之間的資料拷貝到臨時陣列中,再執行System.arraycopy(臨時陣列,0,fun,3,3).

相關推薦

使用System.arraycopy()實現陣列之間複製

System提供了一個靜態方法arraycopy(),我們可以使用它來實現陣列之間的複製。其函式原型是: public static void (Object src, int srcPos,

System.arraycopy實現刪除元素

使用System.arraycopy,引數中目標陣列和原陣列置為同一個,可以實現刪除元素(實際上還是陣列的拷貝) public class TestSystemArrayCopy<T> { public static void main(String[] args

如何實現陣列複製

將一個數組變數複製到另一個數組變數,可以通過多種方式實現,例如採用 for 迴圈遍歷賦值等。 如果只是需要將陣列的值複製到另一個數組,可以使用 System 類的一個靜態方法arraycopy(),該方法的定義如下: static void arraycopy(Object src, int

【java performance】使用'System.arraycopy ()'代替通過來迴圈複製陣列

'System.arraycopy ()' 要比通過迴圈來複制陣列快的多。 例子: public class IRB {    void method () {        int[] array1 = new int [100];        for (int i

【java】陣列複製System.arraycopy

預設提供的一種陣列複製的方法 System.arraycopy(src, srcPos, dest, destPos, length); src:源陣列 srcPos:源陣列開始位置 dest:目標陣列 destPos:目標陣列開始位置 length:複製的長度 這

Arrays.copyof(···)與System.arraycopy(···)陣列元素複製區別

他們的區別就是 System.arraycopy不關心你是什麼資料型別,只是完成資料元素複製。Arrays.copyof方法是根據不同型別呼叫System.arraycopy方法完成複製內容。 System.arraycopy方法是一個本地方法的位元組複製函

Java中System.arraycopy, Object.clone, Arrays.copyOf和for 4種陣列複製方式的效能比較

用程式碼說話 package InterviewDirectory.binaryTree_example.System.arraycopy_Arrays; import java.util.Arrays; /** * Created by xxx on

memcpy實現陣列的定長複製

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

cuda 在GPU和CPU之間複製陣列

#define CUDACHECK(cmd) do { \ cudaError_t e = cmd;

java陣列的四種拷貝方法的效能分析:for、clone、System.arraycopy、Arrays.copyof

今天作者就Java陣列的拷貝方法進行效能比較,多有不足,請大家指正!!! 1.for方法,用迴圈依次實現陣列元素的拷貝。 2.clone方法,是Object類的方法,用來實現物件的複製操作。 3.System.arraycopyof方法,是System的靜態方法,是一個na

樹莓派 Learning 002 裝機後必要的操作 --- 10 實現本地電腦與遠端桌面之間複製貼上(傳輸)檔案

樹莓派 裝機後必要的操作 — 實現本地電腦與遠端桌面之間複製貼上(傳輸)檔案 我的樹莓派型號:Raspberry Pi 2 Model B V1.1 裝機系統:NOOBS v1.9.2 PC端系統:win10 x64 作業系統 你

mysql儲存過程以"陣列"形式入參實現表間複製實現回滾

這個程式碼是我需要實現,前端稽核某個稽核後,這個資料會在另一個頁面中呈現,涉及到兩個資料庫表。一下內容是用於測試的程式碼。 前端進行處理,將id封裝成陣列後提交到Java後臺,"陣列"使用 - 來分隔,是因為入參時,我使用了逗號,但是測試失敗了,就改用-或空格 在點提交後

java 陣列的拷貝 物件陣列的拷貝 System.arraycopy函式

  /*java 陣列的操作   System類的arraycopy靜態函式用於陣列拷貝   陣列是不能越界的 物件陣列的複製實際上是複製的引用的拷貝  也就是物件的地址  */class Point{ int x; int y; Point(int x,int y) {  

Java利用反射實現物件之間相同屬性複製

package com.utils; import java.lang.reflect.Method; import java.util.Arrays; import java.util.Collection; import java.util.List; /** *

System.arraycopy的一些使用。陣列的拼接。

前幾天專案中遇到一個的陣列拼接的問題。第一個陣列是長度變化的,第二個陣列是長度固定的。要把第一個陣列插入到第二個陣列中間去。首先想到的當然是用for迴圈之類的。可惜本人是學渣小白,對於for迴圈這種邏輯性的東西一看到就頭大。於是就沒辦法只好各種百度檢視有沒有簡單的方法。然後

【iOS開發-79】利用Modal方式實現控制器之間的跳轉

article 運用 mis cli 控制 present 沒有 dismiss 導航控制器 利用Modal方法。事實上就是以下兩個方法的運用。Modal方式的切換效果是從底部呈現。 -(void)clickModal{ WPViewController *wp

ECLIPSE android 布局頁面文件出錯故障排除Exception raised during rendering: java.lang.System.arraycopy([CI[CII)V

ans 其它 fontsize 不同 andro you check don san 在布局加入控件手動加入還是拖的加入,加入edittext後布局就不好用,其它控件好用。然後就說以下這段話 Exception raised during rendering: ja

簡單理解javascript中的原型對象,實現之間共享屬性和行為

type屬性 定義 say 能夠 方法 () post spa popu javascript中提供了構造函數。可以方便的創建對象。典型的構造函數例如以下: function Person(name, age) {   this.name = name;

Java System.arraycopy

影響 arr 相同 src -- 指向 引用 復制 拷貝 System.arraycopy方法:如果是數組比較大,那麽使用System.arraycopy會比較有優勢,因為其使用的是內存復制,省去了大量的數組尋址訪問等時間 public static native voi

復制數組之System.arraycopy()的使用

family 使用 長度 sof 修改 jdk1 命名 -s 引用 1 System.arraycopy(src, srcPos, dest, destPos, length); 【參數說明】(註:arraycopy是一個古老的方法,從jdk1.0就有了,而當時命名並不