์๋ฐ์์ ๋ฐฐ์ด์ ๋ณต์ฌํ๋ ๋ฐฉ๋ฒ์ ์ฌ๋ฌ๊ฐ์ง๊ฐ ์๋ค.
for ๋ while ๊ฐ์ ๋ฐ๋ณต๋ฌธ์ ํ์ฉํ์ฌ ์ง์ ๊ฐ์ ํ๋์ฉ ๋ฃ์ด์ฃผ๋ ๋ฐฉ๋ฒ๋ ์๊ณ , Arrays์ ๋ฉ์๋๋ฅผ ํ์ฉํ๋ ๋ฐฉ๋ฒ๋ ์๋ค.
์ฌ์ฉ๋ฐฉ๋ฒ์ ๋งค์ฐ ๊ฐ๋จํ๋ค.
copyOf()
copyOf ๋ฉ์๋๋
Arrays.copyOf( ๋ณต์ฌํ ๋ฐฐ์ด, ๋ณต์ฌํ ๋ฐฐ์ด์ ํฌ๊ธฐ ); ๋ก ์ฌ์ฉํ๋ฉด ๋๋ค.
์ดํดํ๊ธฐ ์ฝ๊ฒ ๋ฐ๋ก ์ฝ๋๋ฅผ ๋ณด์.
import java.util.Arrays;
public class copyOfTest {
public static void main(String[] args) {
int[] arr1 = {1, 2, 3, 4, 5};
int[] arr2 = Arrays.copyOf(arr1, arr1.length);
for(int i=0; i<arr2.length; i++){
System.out.print(arr2[i] + " ");
}
}
}
arr2๋ฅผ ์ ์ธํ ๋,
- ๋ณต์ฌํ ๋ฐฐ์ด: arr1
- ๋ณต์ฌํ ๋ฐฐ์ด์ ํฌ๊ธฐ: arr1.length -> ๋ฃ๊ณ ์ํ๋ ์ด ๋ฒ์
๋ฅผ ๋ฃ์ด์ฃผ์๋ค.
์ดํ ์ถ๋ ฅํด๋ณด๋ฉด arr1๊ณผ ๋๊ฐ์ ๋ฐ์ดํฐ๊ฐ ๋ค์ด๊ฐ ๊ฒ์ ํ์ธํ ์ ์๋ค.
copyOfRange( )
copyOfRange ๋ฉ์๋๋ "์์ ์ด ๋ณต์ฌํ๊ณ ์ ํ๋ ๋ฐฐ์ด์ ๋ฒ์๋ฅผ ์ง์ "ํด์ ๋ณต์ฌํ ์ ์๋ค.
์ด ๋ํ ์ฌ์ฉ๋ฒ์ด ๊ฐ๋จํ๋ค.
import java.util.Arrays;
public class copyOfRangeTest {
public static void main(String[] args) {
int[] arr1 = {1, 2, 3, 4, 5};
int[] arr3 = Arrays.copyOfRange(arr1, 1, 3);
for(int i=0; i<arr3.length; i++){
System.out.print( arr3[i] + " ");
}
}
}
Arrays.copyOfRange(๋ณต์ฌํ ๋ฐฐ์ด, ์์ ์ธ๋ฑ์ค, ๋ ์ธ๋ฑ์ค); ์ ํํ๋ก ์ฌ์ฉํ๋ฉด ๋๋ค.
โผ ์ฃผ์ํ ์ ์ ๋ณต์ฌ๋๋ ๋ฐฐ์ด์ "์์ ์ธ๋ฑ์ค ~ ๋ ์ธ๋ฑ์ค-1" ๊น์ง ๋ณต์ฌ๋๋ค๋ ์ ์ด๋ค.
- ๋ณต์ฌํ ๋ฐฐ์ด: arr1
- ์์ ์ธ๋ฑ์ค: 1
- ๋ ์ธ๋ฑ์ค: 3
๋ฐ๋ผ์ ์ ์ฝ๋๋ฅผ ์ถ๋ ฅํด๋ณด๋ฉด, index 1~2(3-1)๊น์ง 2๊ฐ์ ๊ฐ์ด ๋ค์ด๊ฐ ๊ฒ์ ํ์ธํ ์ ์๋ค.
๐ฅ ๋ณต์ฌ๋ฐ๋ ๋ฐฐ์ด์ด ๋ณต์ฌํ๋ ๋ฐฐ์ด๋ณด๋ค ๋ฒ์๊ฐ ํฌ๋ค๋ฉด?
import java.util.Arrays;
public class defaultTest {
public static void main(String[] args) {
int[] arr1 = {1, 2, 3, 4, 5};
int[] arr3 = Arrays.copyOfRange(arr1, 1, 6);
for(int i=0; i<arr3.length; i++){
System.out.print( arr3[i] + " ");
}
}
}
arr1์ ๋ง์ง๋ง ์ธ๋ฑ์ค๋ 4์ธ๋ฐ arr3์ด 5(6-1)๋ฒ์งธ์ ์ธ๋ฑ์ค๊น์ง ์ง์ ํ๋ค๋ฉด ์ด๊ณผํ๋ ๋ฒ์์ ๋ฐฐ์ด ๊ฐ์ default๊ฐ์ธ 0์ผ๋ก ์ฑ์์ง๊ฒ ๋๋ค.
๋ฐ๋ผ์ ์ ์ฝ๋์ ์คํ ๊ฒฐ๊ณผ๋ ์๋์ ๊ฐ์ด ์ถ๋ ฅ๋ ๊ฒ์ ๋ณผ ์ ์๋ค.
'๐ Programming > Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Java] 2์ฐจ์ ๋ฐฐ์ด (1 to 25) (0) | 2023.02.27 |
---|---|
[Java] ๋์(๋๋ค ์ซ์) ์์ฑํ๋ ๋ฐฉ๋ฒ (0) | 2023.02.27 |
[Java] ๋ฌธ์๊ฐ ๋๋ฌธ์์ธ์ง ์๋ฌธ์์ธ์ง ํ์ธํ๋ ๋ฐฉ๋ฒ (0) | 2023.02.22 |
[Java] ๋ฐ๋ณต๋ฌธ์ ์ด์ฉํ ์ค๋ณต ์์ด ๋๋ค ๊ฐ ์ถ๋ ฅ (0) | 2020.12.07 |
[Java] ์ต๋๊ณต์ฝ์์ ์ต์๊ณต๋ฐฐ์ (3) | 2020.12.05 |