1. 程式人生 > >Java語言複製陣列的方法

Java語言複製陣列的方法

System.arraycopy的用法

public static void arraycopy(   Object src,
	        		int scrPos,
				Object dest,
				int destPos,
				int length)

引數:src - 源陣列。srcPos - 源陣列中的起始位置。dest - 目標陣列。destPos - 目標資料中的起始位置。length - 要複製的陣列長度。

例項

public class ArrayCopy {
	public static void main(String[] args) {
		int[] a1 = {1,2,3,4,5,6,7};
		int[] a2 = {11,12,13,14,15,16,17,187};
		
		System.arraycopy(a1, 2, a2, 0, 3);
		System.out.println("複製後的結果是:");
		for(int i = 0;i<a2.length;i++) {
			System.out.print(a2[i]+" ");
		}
	}
}

執行後的結果為:

複製後的結果是:
3 4 5 14 15 16 17 187

因為根據System.arraycopy()原始碼,可以看到是native方法:native關鍵字說明其修飾的方法是一個原生態方法,方法對應的實現不是在當前檔案,而是在用其他語言(如C和C++)實現的檔案中。 可以將native方法比作Java程式同C程式的介面。

相關推薦

java語言複製陣列的四種方法

來源於牛客網的一道選擇題: JAVA語言的下面幾種陣列複製方法中,哪個效率最高? A.for迴圈逐一複製 B.System.arraycopy C.System.copyof D.使用clone方法

Java語言複製陣列方法

System.arraycopy的用法 public static void arraycopy( Object src, int scrPos, Object dest, int destPos, int length)

JAVA複製陣列的五種方法

“=”,相當於將一個數組變數的引用傳遞給另一個數組;如果一個數組發生改變,那麼引用同一陣列的變數也要發生改變. 使用FOR迴圈,將陣列的每個元素複製或者複製指定元素,不過效率差一點 使用clone方法,得到陣列的值,而不是引用,不能複製指定元素,靈活性差一點

Java語言基礎之方法的設計

work tro str AD 如何 main方法 單元 結束 重載方法 開發遵循原則之一: DRY原則:Don‘t Repeat Yourself(不要重復你自己的代碼) 原因:重復意味著維護成本的增大 public static void main(

java語言陣列最大值、最小值、總和,列印,翻轉、擷取等操作

//Java陣列章節練習題 public class ArrayUtils{ //1.計算陣列中最大值 public static int arrayMaxElement(int[] data){ int max=data[0];

Java語言基礎20--方法過載和this關鍵字

一、方法過載 方法過載的意思是:一個類中可以有多個方法具有相同的名字,但這些方法的引數必須不同,即或者是引數的個數不同,或者是引數的型別不同。 class A {   float add(int a,int b) {     

C語言複製陣列

 直接上程式碼,分別是棧上開闢記憶體,堆上開闢記憶體 1 #include <stdio.h> 2 #include <stdlib.h> 3 4 void test01(){ 5 char filename[100]; 6 7 pr

Java語言中的方法引數——值傳遞與引用傳遞

Java語言中的方法引數有兩種: 1、基本資料型別(數字、布林值) 2、物件引用 基於方法引數的傳遞有兩種方式:值傳遞和引用傳遞。 值傳遞表示方法接收的是呼叫者提供的值。 引用傳遞表示方法接收的是呼叫者提供的變數地址。 Java程式設計語言總是採用按值傳遞的方式,也就是說

設計模式簡單介紹(Java語言)-- 工廠方法模式

設計模式簡單介紹(Java語言) – 工廠方法模式 1.工廠方法模式的定義: 工廠方法模式(FACTORY METHOD)是一種常用的物件建立型設計模式,此模式的核心精神是封裝類中不變的部分,提取其中個性化善變的部分為獨立類,通過依賴注入以達到解耦

設計模式簡單介紹(java語言)-- 模板方法模式

設計模式簡單介紹(java語言)– 模板方法模式 模板方法模式的定義 模板方法模式:定義一個操作中的演算法的框架,而將一些步驟延遲到子類中。使得子類可以不改變一個演算法的結構即可重定義該演算法的某些特定步驟。 類圖: 類圖中,Abstrac

Java 高效複製檔案方法

通過FileChanel 方法複製Java檔案,比通常的記憶體讀寫 方式效率要好很多 public static void headCreate(File f1, File f2) {   //f1 為原始檔  f2 為目標檔案,本方法的功能是 複製f1檔案 為f2  

Java語言基礎 陣列的排序演算法

public class VarDemo {//氣泡排序static void bubbleSort(int [] arr) {for(int times=1;times <= arr.length-1;times++) {for(int i=1;i<=arr.length-1;i++) {i

java語言復制數組的四種方法

原生態 png mit 宋體 angle 連接 earch oat nowrap 參考:http://www.cnblogs.com/dream-it-possible/p/7018804.html 來源於牛客網的一道選擇題: JAVA語言的下面幾種數組復制方法中,哪個

JAVA語言的下面幾種數組復制方法中,哪個效率最高?

object c one 轉換 native方法 stp () 本質 exception 數組復制 for循環逐一復制:這個應該是比較慢的。 System.arraycopy( ):查看源碼,可知 public static native void arraycopy(Ob

java語言基礎--方法的執行圖解

bsp 圖片 mage .com http 運行 分享 調用 執行 1.調用m1方法(壓棧) 2.m1調用m2方法(壓棧) 3.m2調用m3方法(壓棧) 4.運行m3(彈棧) 5.運行m2(彈棧) 6.運行m1(彈棧) java語言基礎--方法的執行圖解

使用arraycopy方法複製陣列

【6】使用arraycopy方法複製陣列 package array; public class array { public static void main(String[] args) { // TODO Auto-generated method stub /*

【學習筆記】 唐大仕—Java程式設計 第5講 深入理解Java語言之5.2 多型及虛方法呼叫

/** * 多型及虛方法呼叫 * @author cnRicky * @date 2018.11.7 */ 多型 多型(Polymorphism)是指一個程式中相同的名字表示不同的含義的情況 多型有兩種情形 編譯時多型:  *過載(Overload)(多個同名的不同方法)  *如 p.sayH

java學習筆記:方法陣列

方法: 方法的定義與使用: java中方法就是函式,將實現某些功能的程式碼封裝到方法中。 /* 概念:就是完成某個功能的程式碼,函式就是方法 格式: 修飾符 返回值型別 方法名(引數型別 引數名1,引數型別 引數名2....){ 方法體語句: return 返回值:

易學筆記-0:Java語言總結/0.11 Java中輸出的流表示(都是針對位元組陣列byte[ ]操作)

Java中輸出的流表示 針對快取的: ByteArrayOutputStream StringBufferOutputStream 針對檔案的:FileOutputStream 針對物件:ObjectOutputStream

Java語言編寫Student(姓名:年齡:成績)資訊排序,重寫compareTo()方法

《java開發實戰經典》第11章習題第8題 * 按照“姓名:年齡:成績|姓名:年齡:成績”的格式定義字串 “張三:21:98|李四:22:89|王五:20:70”, 要求將每組值分別儲存在Student物件之中,並對這些物件進行排序, 排序的原則為:按照成績由高到低排序,如果成績相等