๐ ๋ฐฐ์ด(Array)
๋ฐฐ์ด์ด๋?
- ๊ฐ์ ํ์ ์ ์ฌ๋ฌ ๋ณ์๋ฅผ ํ๋์ ๋ฌถ์์ผ๋ก ๋ค๋ฃจ๋ ๊ฒ
- "new" ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ๋ฉฐ, ํ์ ๊ณผ ๊ธธ์ด๋ฅผ ์ง์ ํ์ฌ ๋ฐฐ์ด ์์ฑ
- ๋ฐฐ์ด์ ๊ฐ ์ ์ฅ ๊ณต๊ฐ ๋ฐฐ์ด์ ์์(element)
- ๋ฐฐ์ด์ ์์๋ง๋ค ๋ถ์ฌ์ง ๋ฒํธ๋ ์ธ๋ฑ์ค(index)
์ธ๋ฑ์ค(index)
- ์ธ๋ฑ์ค์ ๋ฒ์ : 0 ~ ๋ฐฐ์ด์ ๊ธธ์ด -1
- โ๏ธ์ธ๋ฑ์ค์ ์์์ 0๋ถํฐโ๏ธ
1์ฐจ์ ๋ฐฐ์ด
- ๊ฐ์ฅ ์ผ๋ฐ์ ์ธ ๋ฐฐ์ด์ ํํ
- ํ์ ๋ค์ ๋๊ดํธ๋ฅผ ๋ถ์ฌ ์ ์ธํ๊ณ ์ด๊ธฐํ
/*
* ํ์
[] ์ฐธ์กฐ๋ณ์์ด๋ฆ;
* ์ฐธ์กฐ๋ณ์์ด๋ฆ = new ํ์
[๊ฐ์]
*/
String[] MONTH; // ์ฐธ์กฐ ๋ณ์ ์ ์ธ
MONTH = new String[12]; // ๋ฐฐ์ด ๊ฐ์ (12๊ฐ) ์์ฑ, ์ด๊ธฐํ
/* ์ฐธ์กฐ๋ณ์์ด๋ฆ = {๋ฐฐ์ด ์์๋ค} */
MONTH = {January, Febuary, March, April, .... , November, December};
/*
* ์ฝ๋๋ฅผ ์กฐ๊ธ ๊ฐ๋ตํ ๋ํ๋ด๋ฉด
* ํ์
[] ์ฐธ์กฐ๋ณ์์ด๋ฆ = new ํ์
[์์์ ๊ฐ์];
*/
String[] MONTH = new String[12]
/* ๋ฐฐ์ด์ฐธ์กฐ๋ณ์์ด๋ฆ[์ธ๋ฑ์ค] : ๋ฐฐ์ด์ ์์ */
MONTH[0] = January
MONTH[11] = December
/*
* ๋ฐฐ์ด์ฐธ์กฐ๋ณ์์ด๋ฆ.length : ๋ฐฐ์ด์ ์์์ ๊ฐ์ (= ๋ฐฐ์ด์ ๊ธธ์ด)
* ์ธ๋ฑ์ค = 0 ~ ์์์ ๊ฐ์ -1
*/
MONTH.length = 12
2์ฐจ์ ๋ฐฐ์ด
- ๋ฐฐ์ด์ ๊ฐ ์์๊ฐ ๋ค๋ฅธ ๋ฐฐ์ด์ธ ๊ตฌ์กฐ
int[][] number;
int number = = new int number[][];
๊ฐ๋ณ ๋ฐฐ์ด
- n์ฐจ์ ๋ฐฐ์ด(n>=2)์์ ๋ง์ง๋ง ์ฐจ์์ ๋ฐฐ์ด ๊ธธ์ด๋ฅผ ๊ณ ์ ํ์ง ์์๋ ๋๋ ๋ฐฐ์ด
int[][] ages = new int [5][];โ
โญ๏ธ ๋ฐฐ์ด ๋ค๋ฃจ๊ธฐ
๋ฐฐ์ด์ ์ถ๋ ฅ
- toString() : ๋ฐฐ์ด์ ๋ชจ๋ ์์๋ฅผ ๋ฌธ์์ด๋ก ํธํ๊ฒ ์ถ๋ ฅ ๊ฐ๋ฅ. ์ผ์ฐจ์ ๋ฐฐ์ด์๋ง ์ฌ์ฉ ๊ฐ๋ฅ
- deepToString() : ๋ค์ฐจ์ ๋ฐฐ์ด์ ์ฌ์ฉ ๊ฐ๋ฅ
public class PrintArray {
public static void main(String[] args) {
int[] num = {25, 12, 2022};
String[][] arr = {
{"25", "์ผ"},
{"12", "์"},
{"2022", "๋
"}
};
System.out.println(Arrays.toString(num));
System.out.println(Arrays.deepToString(arr));
}
}
/*
[25, 12, 2022]
[[25, ์ผ], [12, ์], [2022, ๋
]]
*/
๋ฐฐ์ด์ ๋น๊ต
- equals() : ๋ฐฐ์ด์ ์์๋ฅผ ๋น๊ตํด์ ๊ฐ์ผ๋ฉด true, ๋ค๋ฅด๋ฉด false ๋ฐํ. ์ผ์ฐจ์ ๋ฐฐ์ด์๋ง ์ฌ์ฉ๊ฐ๋ฅ
- deepEquals() : ๋ค์ฐจ์ ๋ฐฐ์ด์ ์ฌ์ฉ ๊ฐ๋ฅ
public class CompareArray {
public static void main(String[] args) {
String[] arr1 = {"December", "12์"};
String[] arr2 = {"December", "12์"};
String[] arr3 = {"December", "25์ผ"};
int[][] arr4 = {
{1,2,3},
{25, 12, 2022}
};
int[][] arr5 = {
{1,2,3},
{25, 12, 2022}
};
int[][] arr6 = {
{3,2,1},
{25, 12, 2022}
};
System.out.println(Arrays.equals(arr1, arr2));
System.out.println(Arrays.equals(arr1, arr3));
System.out.println(Arrays.deepEquals(arr4, arr5));
System.out.println(Arrays.deepEquals(arr4, arr6));
}
}
/*
true
false
true
false
*/
๋ฐฐ์ด์ ๋ณต์ฌ
- copyOf() : ๋ฐฐ์ด์ ์์๋ถํฐ ๋ณต์ฌํ์ฌ ์๋ก์ด ๋ฐฐ์ด ๋ฐํ
- copyOfRange() : ์ง์ ๋ ๋ฒ์์ ๋ฐฐ์ด ์ผ๋ถ๋ฅผ ๋ณต์ฌํ์ฌ ๋ฐํ
Arrays.copyOf(์๋ ๋ฐฐ์ด, ์๋ก์ด ๋ฐฐ์ด์ ๊ธธ์ด);
Arrays.copyOfRange(์๋ ๋ฐฐ์ด, ๋ณต์ฌ๋ฅผ ์์ํ ์ธ๋ฑ์ค, ๋ณต์ฌํ ๋ง์ง๋ง ์ธ๋ฑ์ค + 1);
public class ArrayCopy {
public static void main(String[] args) {
String[] arr = {"red", "pink", "purple", "green", "blue", "yellow"};
System.out.println(Arrays.toString(Arrays.copyOf(arr, arr.length)));
System.out.println(Arrays.toString(Arrays.copyOf(arr, 3)));
System.out.println(Arrays.toString(Arrays.copyOfRange(arr, 0,6)));
System.out.println(Arrays.toString(Arrays.copyOfRange(arr, 3,5)));
}
}
/*
[red, pink, purple, green, blue, yellow]
[red, pink, purple]
[red, pink, purple, green, blue, yellow]
[green, blue]
*/
๐1์ฐจ์ ๋ฐฐ์ด ์์
1๏ธโฃ ๋ฐฐ์ด์ ์ดํฉ๊ณผ ํ๊ท
public class SumAndAvg {
public static void main(String[] args) {
int[] arr = {100, 80, 95, 70, 90};
System.out.println(getSum(arr));
System.out.println(getAvg(arr));
}
private static int getSum(int[] scores){
int sum = 0;
for (int i = 0; i < scores.length; i++) {
sum += scores[i];
}
return sum;
}
private static float getAvg(int[] scores){
return getSum(scores)/ (float)scores.length;
}
}
/*
435
87.0
*/
2๏ธโฃ ๋ฐฐ์ด์ ์ต๋๊ฐ๊ณผ ์ต์๊ฐ
public class MaxAndMin {
public static void main(String[] args) {
int[] arr = {8,6,2,9,4};
System.out.println(getMax(arr));
System.out.println(getMin(arr));
}
private static int getMax(int[] arr) {
int max = arr[0];
for (int i = 1; i < arr.length; i++) {
if (arr[i] > max) {
max = Math.max(max, arr[i]);
}
}
return max;
}
private static int getMin(int[] arr) {
int min = arr[0];
for (int i = 1; i < arr.length; i++) {
if (arr[i] < min) {
min = Math.min(min, arr[i]);
}
}
return min;
}
}
/*
9
2
*/
3๏ธโฃ ๋ฐฐ์ด์ ์๊ธฐ
public class ShuffleArray {
public static void main(String[] args) {
int[] arr = {1,2,3,4,5,6,7,8,9,10};
System.out.println(Arrays.toString(getShuffle(arr)));
}
private static int[] getShuffle(int[] arr) {
for (int i = 0; i < 10; i++) {
int n = (int)(Math.random() * 10);
int tmp = arr[0];
arr[0] = arr[n];
arr[n] = tmp;
}
return arr;
}
}
/*
[1, 2, 6, 3, 5, 7, 9, 8, 10, 4]
*/
4๏ธโฃ ๋ก๋ ๋ฒํธ ๋ง๋ค๊ธฐ
public class MakeLotto {
public static void main(String[] args) {
System.out.println(Arrays.toString(getLotto()));
}
private static int[] getLotto() {
int[] ball = new int[45];
for (int i = 0; i < ball.length; i++) {
ball[i] = i + 1;
}
for (int i = 0; i < 6; i++) {
int n = (int) (Math.random() * 45);
int tmp = ball[i];
ball[i] = ball[n];
ball[n] = tmp;
}
return Arrays.copyOfRange(ball, 0, 6);
}
}
/*
[39, 29, 24, 15, 18, 1]
*/
๐2์ฐจ์ ๋ฐฐ์ด ์์
1๏ธโฃ ๋ฐฐ์ด์ ์ดํฉ
public class Sum {
public static void main(String[] args) {
int[][] score = {
{100, 100, 100},
{30, 20, 50},
{100, 70}
};
System.out.println(getSum(score));
}
private static int getSum(int[][] score){
int sum = 0;
for (int i = 0; i < score.length; i++) {
for (int j = 0; j < score[i].length; j++) {
sum += score[i][j];
}
}
return sum;
}
}
2๏ธโฃ ๋จ์ด ์ผ์น
public class CorrectWord {
public static void main(String[] args) {
String[][] words = {
{"number", "์ซ์"},
{"December", "12์"},
{"Array", "๋ฐฐ์ด"}
};
String[] str= {"์ซ์", "11์", "๋ฐฐ์ด"};
for (int i = 0; i < words.length; i++) {
System.out.println(String.format("Q%d. %s์ ๋ป์?", i + 1, words[i][0]));
if (str[i].equals(words[i][1])) {
System.out.println("์ ๋ต์
๋๋ค.");
} else {
System.out.println(String.format("ํ๋ ธ์ต๋๋ค. ์ ๋ต์ %s์
๋๋ค.", words[i][1]));
}
}
}
}
/*
Q1. number์ ๋ป์?
์ ๋ต์
๋๋ค.
Q2. December์ ๋ป์?
ํ๋ ธ์ต๋๋ค. ์ ๋ต์ 12์์
๋๋ค.
Q3. Array์ ๋ป์?
์ ๋ต์
๋๋ค.
*/
'Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Java] ๋ฌธ์๊ฐ ์ซ์์ธ์ง ๋ฌธ์์ธ์ง ํ๋จํ๊ธฐ (Character.isDigit(), Character.isLetter()) (0) | 2022.12.22 |
---|---|
[Java] ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ (OOP) (0) | 2022.12.20 |
[Java] ์ ์ด๋ฌธ - ๋ฐ๋ณต๋ฌธ (for, ํฅ์๋ for, while, do-while, break, continue) (0) | 2022.12.16 |
[Java] ์ ์ด๋ฌธ - ์กฐ๊ฑด๋ฌธ(if, if - else, switch, ํฅ์๋ switch) (0) | 2022.12.16 |
[JAVA] ํ์ (0) | 2022.07.22 |
๋๊ธ