-๊ธฐ๋ณธํ ํ์ ๋ฐฐ์ด
-์ฐธ์กฐํ ํ์ ๋ฐฐ์ด
-2์ฐจ์ ๋ฐฐ์ด
-for each๋ฌธ
-java.util.Arraysํด๋์ค
๋ฐฐ์ด์ด๋?
์ฐธ์กฐํ์ ์ผ๋ก, ๊ฐ์ ํ์ ์ ๋ณ์๊ฐ ์ฌ๋ฌ๊ฐ ํ์ํ ๋ ์ฌ์ฉํ๋ค. ๋ฐฐ์ด์ ๊ธฐ๋ณธํ ๋ฐฐ์ด + ์ฐธ์กฐํ ๋ฐฐ์ด ์ผ๋ก ์ด๋ฃจ์ด์ง๋ค.
๊ธฐ๋ณธํ ๋ฐฐ์ด
๊ธฐ๋ณธํ ๋ฐฐ์ด์ด๋ boolean, byte, short, char, int, long, float, double ํ์ ์ ๋ณ์๋ฅผ ์ฌ๋ฌ๊ฐ ์ ์ธํ ํ์๊ฐ ์์ ๋ ์ฌ์ฉํ๋ค.
๊ธฐ๋ณธํ ๋ฐฐ์ด ์ ์ธ ๋ฐฉ๋ฒ
๊ธฐ๋ณธํํ์
[] ๋ณ์๋ช
;
๋๋
๊ธฐ๋ณธํํ์
๋ณ์๋ช
[];
์ด๊ธฐ๊ฐ ๊ฐ์ง๊ณ ์ ์ธํ๊ธฐ
1๋ฒ
๊ธฐ๋ณธํํ์
[] ๋ณ์๋ช
= new ๊ธฐ๋ณธํํ์
[๋ฐฐ์ด์ํฌ๊ธฐ];
๋ณ์๋ช
[index๊ฐ] = ๊ฐ;
2๋ฒ
๊ธฐ๋ณธํํ์
[] ๋ณ์๋ช
= new ๊ธฐ๋ณธํํ์
[]{๊ฐ1, ๊ฐ2,….};
3๋ฒ
๊ธฐ๋ณธํํ์
[] ๋ณ์๋ช
= {๊ฐ1, ๊ฐ2,….};
public class Array01 {
public static void main(String[] args) {
int[] array1;
int array2[];
int array3[];
//ํ์ฌ๋ null
//๋ฐ๋์ ์ด๊ธฐํ ํด์ผํ๋ค.
array1 = new int[5]; //์ ์ 5๊ฐ ๋ด์ ์ ์๋๊ฑธ ์ฐธ์กฐ
array2 = new int[5];
array3 = new int[0]; //๊ธธ์ด๊ฐ 0์ธ ๋ฐฐ์ด
}
}
์ฐธ์กฐํ ๋ฐฐ์ด
์ฐธ์กฐํ ๋ฐฐ์ด์ด๋ ๋ฐฐ์ด์ ํ์ ์ด ๊ธฐ๋ณธํ์ด ์๋ ๊ฒฝ์ฐ
๋ฐฐ์ด ๋ณ์๊ฐ ์ฐธ์กฐํ๋ ๋ฐฐ์ด์ ๊ณต๊ฐ์ด ๊ฐ์ ์ ์ฅํ๋ ๊ฒ์ด ์๋๋ผ ๊ฐ์ ์ฐธ์กฐํ๋ ๊ฒ์ ์๋ฏธํ๋ค.
//๋ถ๋ณํด๋์ค
public class ItemForArray {
private int price;
private String name;
public ItemForArray(int price, String name){
this.price = price;
this.name = name;
}
public int getPrice() {
return price;
}
public String getName() {
return name;
}
}
public class Array04 {
public static void main(String[] args) {
ItemForArray[] array1;
ItemForArray array2[];
//ํ์ฌ๋ null์ธ์ํ
array1 = new ItemForArray[5];
array2 = new ItemForArray[5];
//5๊ฐ์ ItemForArray๋ฅผ ์ฐธ์กฐํ ์ ์๋ ๋ฐฐ์ด
array1[0] = new ItemForArray(500,"item01");
array1[1] = new ItemForArray(1000,"item02");
//NullPointerException : array1[2] ์ด ๋ณ์๊ฐ ์๋ฌด๊ฒ๋ ์ฐธ์กฐํ๋๊ฒ ์๋ค๋ ๋ง์ด๋ค.
System.out.println(array1[2].getName());
}
}
public class Array07 {
public static void main(String[] args) {
double[] array2 = new double[0];
System.out.println(array2.length); //0์ถ๋ ฅ
System.out.println(array2[0]);//ArrayIndexOutOfBoundsException
}
}
2์ฐจ์๋ฐฐ์ด
ํ์
[][] ๋ณ์๋ช
= new ํ์
[ํ์ ์][์ด์ ์];
๋ณ์๋ช
[ํ ์ธ๋ฑ์ค][์ด ์ธ๋ฑ์ค] = ๊ฐ;
public class Array08 {
public static void main(String[] args) {
int[][] array = new int[2][3];
array[0][0] = 0;
array[0][1] = 1;
array[0][2] = 2;
array[1][0] = 3;
array[1][1] = 4;
array[1][2] = 5;
//i๋ 0,1 j๋ 0,1,2
for(int i=0 ; i < array.length; i++){
for (int j=0 ; j < array[i].length; j++){
System.out.print(array[i][j]+"\t");
}
System.out.println();
}
}
}
์คํ๊ฒฐ๊ณผ
0 1 2
3 4 5
์ด์ฐจ์ ๊ฐ๋ณ ๋ฐฐ์ด ์ด๊ธฐํ
ํ์
[][] ๋ณ์๋ช
= new ํ์
[ํ์ ์][];
๋ณ์๋ช
[ํ์ ์ธ๋ฑ์ค] = new ํ์
[์ด์์];
public class Array10 {
public static void main(String[] args) {
int[][] array = {{0,1},{2,3,4}};
//์๋ ์ฝ๋๋ฅผ ํ์ค๋ก ํํ
int[][] array = new int[2][];
array[0] = new int[2];
array[1] = new int[3];
array[0][0] = 0;
array[0][1] = 1;
array[1][0] = 2;
array[1][1] = 3;
array[1][2] = 4;
//i๋ 0,1 j๋ 0,1,2
for(int i=0 ; i < array.length; i++){
for (int j=0 ; j < array[i].length; j++){
System.out.print(array[i][j]+"\t");
}
System.out.println();
}
}
}
์คํ๊ฒฐ๊ณผ
0 1
2 3 4
For each๋ฌธ
public class Array12 {
public static void main(String[] args) {
int[] array ={1,2,3,4,5};
for(int i : array){
System.out.println(i);
}
}
}
Arrays
๋ฐฐ์ด ๋ค๋ฃฐ ๋ ์ฌ์ฉํ๋ ์ ํธ๋ฆฌํฐ ํด๋์ค
public class Array14 {
public static void main(String[] args) {
int[] copyFrom = {1,2,3};
int[] copyTo = java.util.Arrays.copyOf(copyFrom,copyFrom.length);
//copyFrom๊ณผ copyTo๋ ๊ฐ์ ๋ฐฐ์ด์ ์ฐธ์กฐํ๋ ๊ฒ์ด ์๋๋ผ copyTo๋ ๋ณต์ฌํ ๋์์ ์ฐธ์กฐํ๋ค.
//๋ฐ๋ผ์ ๊ฐ์ ๊ฐ์ฒด๋ฅผ ๊ฐ๋ฅดํค๋์ธ '==' ์ False๊ฐ ๋๋ค.
//int[] copyTo = copyFrom์ด๋ผ๊ณ ํ๋ฉด '==' ์ True
if (copyTo == copyFrom){
System.out.println("๊ฐ๋ค");
}
for(int c : copyTo){
System.out.println(c);
}
System.out.println("----------------------");
int[] copyTo2 = java.util.Arrays.copyOf(copyFrom,5);
for(int c : copyTo2){
System.out.println(c);
}
}
}
์คํ๊ฒฐ๊ณผ
1
2
3
----------------------
1
2
3
0
0
'๐ผ ๋ฐฑ์ค๋ > Java ๋ฌธ๋ฒ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์ ๋๋ฆญ(Generic)๊ณผ ์ปฌ๋ ์ ํ๋ ์์ํฌ(Collection Framework) (1) | 2023.08.22 |
---|---|
๋ฐฐ์ด 2/2 (0) | 2023.08.22 |
๊ฐ์ฒด ์งํฅ ๋ฌธ๋ฒ 3/3 (0) | 2023.08.21 |
๊ฐ์ฒด ์งํฅ ๋ฌธ๋ฒ 2/3 (0) | 2023.08.20 |
๊ฐ์ฒด ์งํฅ ๋ฌธ๋ฒ 1/3 (0) | 2023.08.20 |