๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

Programming/Programming Language

JAVA์˜ ๋ฐฐ์—ด ์ƒ์„ฑ, ๋ณต์‚ฌ, ์ถœ๋ ฅ

 

 

 

>> ๐Ÿ’ป ์ž๋ฐ”(JAVA): ๋ฐฐ์—ด

 

 

 

 

๐Ÿ’™ ๐Ÿ’™ ๐Ÿ’™

๐Ÿ“š ๋ฐฐ์—ด์˜ ์ƒ์„ฑ

 

โœ”๏ธ 1์ฐจ์› ๋ฐฐ์—ด

int[] arr1 = {1,2,3,4};

int[] arr2 = new int[]{3,4,5,6};

int[] arr3 = new int[];
arr3[0] = 5;

// Error
boolean[] bools;
bools = {true, false, false};	// ์ดˆ๊ธฐํ™”๋Š” ์„ ์–ธ๊ณผ ๋™์‹œ์—๋งŒ ๊ฐ€๋Šฅํ•˜๋‹ค.

 

 

 

โœ”๏ธ 2์ฐจ์› ๋ฐฐ์—ด

// ์„ ์–ธ
int[][] intArray;
int intArray[][];
int[] intArray[];

// ์ƒ์„ฑ
intArray = new int[4][3];

// ํ• ๋‹น
intArray[0][2] = 3;

// ์„ ์–ธ+์ƒ์„ฑ+ํ• ๋‹น
int[][] intArray = { {0,1,2}, {3,4,5}, {6,7,8} };
// 1์ฐจ Array๋ถ€ํ„ฐ ์ƒ์„ฑ
int[][] intArray = new int[4][];

// 2์ฐจ Array ์ƒ์„ฑ
intArray[1] = new int[2];
intArray[0] = new int[4];
intArray[2] = {1,2,3}; // Error. ์ดˆ๊ธฐํ™”๋Š” ์ƒ์„ฑ๊ณผ ๋™์‹œ์—๋งŒ ๊ฐ€๋Šฅ

 

 

 

 

 

๐Ÿ’™ ๐Ÿ’™ ๐Ÿ’™

 

๐Ÿ“š ๋ฐฐ์—ด์˜ ๋ณต์‚ฌ

 

 ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ํ•  ๋•Œ ์ •๋ง ์ค‘์š”ํ•˜๋‹ค๊ณ  ํ–ˆ๋‹ค. ์•”๊ธฐ์•”๊ธฐ!

 

 

๐Ÿ’กArrays.copyOf()

 ์ž…๋ ฅํ•œ ํฌ๊ธฐ๋งŒํผ ๋ณต์‚ฌํ•˜๊ณ , ๋ณต์‚ฌํ•  ๋ฐฐ์—ด์˜ ํฌ๊ธฐ๋ฅผ ๋„˜์–ด์„œ๋ฉด 0 ๊ฐ’์„ ๋„ฃ๋Š”๋‹ค.

int[] arr = {1,2,3,4,5};

int[] data = Arrays.copyOf(arr, 3);
// data: {1,2,3}

int[] data2 = Arrays.copyOf(arr, 10);
// data2: {1,2,3,4,5,0,0,0,0,0}

 

 

 

 

 ๐Ÿ’กSystem.arraycopy()์ด ์žˆ๋‹ค. ์•„์ฃผ ์ค‘์š”ํ•˜๋‹ค!

 public static native void arraycopy(Object src, int  srcPos,
                                     Object dest, int destPos,
                                     int length);

 

 โ—ป๏ธ Object src: ๋ณต์‚ฌํ•  ๊ธฐ์กด ๋ฐฐ์—ด

 โ—ป๏ธ int srcPos: ๊ธฐ์กด ๋ฐฐ์—ด์˜ ์–ด๋Š ๋ถ€๋ถ„๋ถ€ํ„ฐ ๋ณต์‚ฌํ•˜๊ณ  ์‹ถ์€์ง€

 โ—ป๏ธ Object dest: ๊ธฐ์กด ๋ฐฐ์—ด์„ ๋ณต์‚ฌํ•  ๋ชฉํ‘œ ๋ฐฐ์—ด

 โ—ป๏ธ int destPos: ๋ชฉํ‘œ ๋ฐฐ์—ด์˜ ์–ด๋””์„œ๋ถ€ํ„ฐ ๋ณต์‚ฌ๋ฅผ ํ• ์ง€

 โ—ป๏ธ int length: ๊ธฐ์กด ๋ฐฐ์—ด์„ ์–ผ๋งŒํผ ๋ณต์‚ฌํ• ์ง€

 

 

 ์˜ˆ์ œ)

int[] origin = {1,2,3,4,5,6,7,8,9,10};
int[] dest = new int[10];

System.arraycopy(origin, 5, dest, 0, 5)

// ๊ฒฐ๊ณผ
// dest: {6,7,8,9,10,null,null,null,null,null}

 

 

 

 

 

 

๐Ÿ’™ ๐Ÿ’™ ๐Ÿ’™

 

๐Ÿ“š ๋ฐฐ์—ด์˜ ์ถœ๋ ฅ

for( int num : arr ){
	System.out.print(num);
}
 Arrays.toString(arr[])

 Arrays.deepToString(arr[])

 

 

๐Ÿ’ก Arrays.toString(arr[])์€ ๊ด„ํ˜ธ ์•ˆ์— ๋“ค์–ด๊ฐ„ ๋ฐฐ์—ด์˜ 1์ฐจ์›์— ๋‹ด๊ธด ๋‚ด์šฉ์„ String์œผ๋กœ ์ถœ๋ ฅํ•ด์ค€๋‹ค.

 ๊ทธ๋ƒฅ System.out.println(arr[])์„ ํ•˜๋ฉด ์ฃผ์†Œ๊ฐ’์ด ์ถœ๋ ฅ๋˜๋Š”๋ฐ,

 ์ด ๋•Œ Arrays.toString()์„ ์ด์šฉํ•˜๋ฉด ๋ฐฐ์—ด์˜ ์ปจํ…์ธ ๋ฅผ ์ถœ๋ ฅํ•ด์ค€๋‹ค.

 

 

๐Ÿ’กArrays.deepToString(arr[])

 2์ฐจ์› ๋ฐฐ์—ด์˜ ๊ฒฝ์šฐ 2์ฐจ์›์˜ ์ฃผ์†Œ๊ฐ’์ด 1์ฐจ์›์— ๋‹ด๊ฒจ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ทธ ์ฃผ์†Œ๊ฐ’์ด ์ถœ๋ ฅ๋œ๋‹ค. ๊ทธ๋Ÿด ๋•Œ๋Š” Arrays.deepToString์„ ์‚ฌ์šฉํ•˜์—ฌ 2์ฐจ์›๋ฐฐ์—ด์„ 2์ฐจ์›๊นŒ์ง€ ์ถœ๋ ฅํ•ด์ค€๋‹ค.

 

 

 

 

 

 

 

 

 

 

 

๐Ÿ’™ ๐Ÿ’™ ๐Ÿ’™

 

 

๏ผฐ๏ฝ๏ฝ“๏ฝ”๏ฝ…๏ฝ„ ๏ผข๏ฝ™ ๏ผณ๏ผก๏ผน

๐˜›๐˜ฉ๐˜ข๐˜ฏ๐˜ฌ๐˜ด ๐˜ง๐˜ฐ๐˜ณ ๐˜ณ๐˜ฆ๐˜ข๐˜ฅ๐˜ช๐˜ฏ๐˜จ