๐ArrayList Class
: ์์๋ฅผ ์ถ๊ฐํ๋ฉด 0๋ฒ ์ธ๋ฑ์ค์์น๋ถํฐ ์ฐจ๋ก๋๋ก ์์๊ฐ ์ถ๊ฐ๋๋ ํํ
๐ก ์์ฐจ์ ์ธ ์ ๊ทผ์ด๋ ๋ค์์๋ถํฐ ๋ฐ์ดํฐ๋ฅผ ์ถ๊ฐํ๊ฑฐ๋ ์ญ์ ํ ๋ ํจ๊ณผ์
์์ ํ๋ ์ถ๊ฐ์,
ArrayList<String> array1 = new ArrayList<String>();
array1.add("A");
Index 0 |
A |
์์ ํ๋ ๋ ์ถ๊ฐ ์,
array1.add("B");
Index 0 | Index 1 |
A | B |
๋ค์๊ณผ ๊ฐ์ ArrayList์์์์ 2๋ฒ ์ธ๋ฑ์ค๋ฅผ ์ญ์ ํ๋ คํ ๋,
Index 0 | Index 1 | Index 2 | Index 3 |
A | B | C | D |
array1.remove(2);
2๋ฒ ์ธ๋ฑ์ค๊ฐ ์ญ์ ๋๋ฉฐ ๋ค์ ์๋ ์์๋ค์ด ํ์นธ์ฉ ์์ง์ด๋ ๋ฒ๊ฑฐ๋ก์์ด ์๊ธฐ๋ฏ๋ก
ArrayList์์ ์ค๊ฐ์ ์กด์ฌํ๋ ์์๋ฅผ ์ ๊ฑฐํ๋ ์์
์ ์ฑ๋ฅ์ ์ข์ง ์์ (์ถ๊ฐํ ๋๋ ๋ง์ฐฌ๊ฐ์ง)
-> ์ด๋ด๋ ArrayList๋์ LinkedList๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ํจ๊ณผ์ ์ด๋ค
๐ Generic
: ํด๋์ค ๋ด๋ถ์์ ์ง์ ํ๋ ๊ฒ์ด ์๋ ์ธ๋ถ์์ ์ฌ์ฉ์์ ์ํด ์ง์ ๋๋ ๊ฒ์ ์๋ฏธ
ํน์ ํ์
์ ๋ฏธ๋ฆฌ ์ง์ ํด์ฃผ๋ ๊ฒ์ด ์๋ ํ์์ ์ํด ์ง์ ํ ์ ์๋๋ก ํ๋ ์ผ๋ฐํ์
ํด๋์ค/์ธํฐํ์ด์ค/๋ฉ์๋ ๋ฑ์ ํ์
์ ํ๋ผ๋ฏธํฐ๋ก ์ฌ์ฉํ ์ ์๊ฒ ํด์ฃผ๋ ์ญํ
์ ๋ค๋ฆญ ์ ์ธ ๋ฐฉ๋ฒ:
ArrayList<Integer> list1 = new ArrayList<Integer>();
ArrayList<String> list2 = new ArrayList<Integer>();
LinkedList<Double> list3 = new LinkedList<Double>():
LinkedList<Character> list4 = new LinkedList<Character>();
๐ก ์ ๋ค๋ฆญ ์ฌ์ฉ ์์:
๐ป ์ผ๋ฐ ์ฝ๋
public static void main(String[] args) {
List numbers = Arrays.asList(1, 2, 3, 4, 5, 6);
int sum = 0;
for (Object number : numbers) {
sum += (int) number;
}
}
๐ป ์ ๋ค๋ฆญ ์ฌ์ฉ ์ฝ๋
public static void main(String[] args) {
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6);
int sum = 0;
for (Integer number : numbers) {
sum += number;
}
}
๐ ์ ๋ค๋ฆญ ๊ธฐ๋ฅ์ ์ด์ฉํด์ ์ปฌ๋ ์
๊ฐ์ฒด๋ฅผ ์์ฑํ๋ฉด ์ปฌ๋ ์
์์ฑ์ ์ง์ ํ ํ์
์ผ๋ก๋ง ์์๋ฅผ ์ถ๊ฐํ ์ ์์
๋ง์ฝ, <String>์ธ๋ฐ Integer๊ฐ์ ๋ฃ์ ๊ฒฝ์ฐ ์ค๋ฅ ๋ฐ์
๐ ์์ธ์ฒ๋ฆฌ
e.printStackTrace( ) : ์๋ฌ๋ฅผ ์ถ์ ํด์ค(์ถ๋ ฅ)
์ฃผ๋ก ๊ฐ๋ฐ๋จ๊ณ์์ ์ด๋ค ์๋ฌ๊ฐ ๋ฐ์ํ๋์ง ํ์ผํ ๋์ ์ฌ์ฉํ๊ณ ๊ฐ๋ฐ์ด ๋๋๋ฉด ๋นํ์ฑํํด์ผํจ
๐ก ์คํ ์์ธ (RuntimeException)
: ์์ธ๊ฐ ๋ฐ์ํ๋ฉด JVM์ ํด๋นํ๋ ์คํ ์์ธ ๊ฐ์ฒด๋ฅผ ์์ฑ
์คํ ์์ธ๋ ์ปดํ์ผ๋ฌ๊ฐ ์์ธ ์ฒ๋ฆฌ ์ฌ๋ถ๋ฅผ ํ์ธํ์ง ์์ -> ๊ฐ๋ฐ์๊ฐ ์์ธ ์ฒ๋ฆฌ ์ฝ๋์ ์ถ๊ฐ ์ฌ๋ถ๋ฅผ ๊ฒฐ์
์คํ ์์ธ | ์ด์ |
ArithmeticException | 0์ผ๋ก ๋๋๊ธฐ์ ๊ฐ์ ๋ถ์ ์ ํ ์ฐ์ ์ฐ์ฐ์ ์ํํ ๋ ๋ฐ์ |
IllegalArgumentException | ๋ฉ์๋์ ๋ถ์ ์ ํ ์ธ์๋ฅผ ์ ๋ฌํ ๋ ๋ฐ์ |
IndexOutOfBoundsException | ๋ฐฐ์ด, ๋ฒกํฐ ๋ฑ์์ ๋ฒ์๋ฅผ ๋ฒ์ด๋ ์ธ๋ฑ์ค๋ฅผ ์ฌ์ฉํ ๋ ๋ฐ์ |
NoSuchElementException | ์๊ตฌํ ์์๊ฐ ์์ ๋ ๋ฐ์ |
NullPointerException | null ๊ฐ์ ๊ฐ์ง ์ฐธ์กฐ ๋ณ์์ ์ ๊ทผํ ๋ ๋ฐ์ |
NumberFormatException | ์ซ์๋ก ๋ฐ๊ฟ ์ ์๋ ๋ฌธ์์ด์ ์ซ์๋ก ๋ณํํ๋ ค ํ ๋ ๋ฐ์ |
๐ก ์ผ๋ฐ ์์ธ
: ์ปดํ์ผ๋ฌ๋ ๋ฐ์ํ ๊ฐ๋ฅ์ฑ์ ๋ฐ๊ฒฌํ๋ฉด ์ปดํ์ผ ์ค๋ฅ๋ฅผ ๋ฐ์
๊ฐ๋ฐ์๋ ์์ธ ์ฒ๋ฆฌ ์ฝ๋๋ฅผ ๋ฐ๋์ ์ถ๊ฐํด์ผํจ
์ผ๋ฐ ์์ธ | ์ด์ |
ClassNotFoundException | ์กด์ฌํ์ง ์๋ ํด๋์ค๋ฅผ ์ฌ์ฉํ๋ ค๊ณ ํ ๋ ๋ฐ์ |
InterruptedException | ์ธํฐ๋ฝํธ ๋์์ ๋ ๋ฐ์ |
NoSuchFieldException | ํด๋์ค๊ฐ ๋ช ์ํ ํ๋๋ฅผ ํฌํจํ์ง ์์ ๋ ๋ฐ์ |
NoSuchMethodException | ํด๋์ค๊ฐ ๋ช ์ํ ๋ฉ์๋๋ฅผ ํฌํจํ์ง ์์ ๋ ๋ฐ์ |
IOException | ๋ฐ์ดํฐ ์ฝ๊ธฐ ๊ฐ์ ์ ์ถ๋ ฅ ๋ฌธ์ ๊ฐ ์์ ๋ ๋ฐ์ |
๐ ๋ฌธ์ ๊ธฐ๋ฐ ์คํธ๋ฆผ
: ๋ฒํผ๋ ํค๋ณด๋์ ์
๋ ฅํ ๋๋ง๋ค ๊ฐ์ ์ ๋ฌํ๋๊ฒ ์๋๋ผ ๋ฒํผ์ ์ ํด์ง ์ฉ๋๋งํผ ๋ชจ์๋ค๊ฐ ์ ๋ฌํจ
-> Scanner ๋ณด๋ค ํจ์จ์ ์
๐ก ๋ฒํผ (Buffer)
: ๋ฐ์ดํฐ๋ฅผ ํ ๊ณณ์์ ๋ค๋ฅธ ๊ณณ์ผ๋ก ์ ์กํ๋ ๋์ ์ผ์์ ์ผ๋ก ๊ทธ ๋ฐ์ดํฐ๋ฅผ ๋ณด๊ดํ๋ ์์ ๋ฉ๋ชจ๋ฆฌ ์์ญ
-> ์
์ถ๋ ฅ ์๋ ํฅ์์ ์ํด ๋ฒํผ๋ฅผ ์ฌ์ฉํจ
๐ก BufferedReader
: ๋ฒํผ๋ฅผ ์ด์ฉํ ์
๋ ฅ
Scanner๋ก ์
๋ ฅํ ๊ฒฝ์ฐ, Space, Enter๋ฅผ ๊ธฐ์ค์ผ๋ก ์ธ์ํ์ฌ ์
๋ ฅํ ๋ฐ์ดํฐ๋ฅผ ๊ฐ๊ณตํ๊ธฐ๊ฐ ์์ํจ.
ํ์ง๋ง BufferedReader์ Enter๋ง ๊ฒฝ๊ณ๋ก ์ธ์ํ๊ณ , return ๋๋ ๋ฐ์ดํฐ๊ฐ String์ผ๋ก ๊ณ ์ ๋จ
๐ก BufferedWriter
: ๋ฒํผ๋ฅผ ์ด์ฉํ ์ถ๋ ฅ
System.out.println();๊ณผ ๋์ผ ๊ธฐ๋ฅ์ ํ๋ ๋ฉ์๋
Scanner ์ฒ๋ผ ๋ฐ๋ก ์ ์ฉ์ด ๋๋ ๊ฒ์ด ์๋๋ผ ๋ฒํผ์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ค๊ฐ ๋ฒํผ๊ฐ flush๋ close๊ฐ ๋ ๋ ํ๋ฒ์ ์ ๋ฌ์ด ๋จ
-> ๊ฐ์ ์ถ๋ ฅ์ ์ํด flush๋ close๋ฅผ ๊ผญ ์ฌ์ฉํด์ฃผ์ด์ผํจ
close()๋ ๊ธฐ๋ฅ์ ์์ ๋ซ์๋ฒ๋ฆฌ๋ฏ๋ก ๊ณ์ ์ฌ์ฉํ๋ ค๋ฉด flush()๋ฅผ ํด์ฃผ์ด์ผํจ
์ค๋ฐ๊ฟ์ด ํ์ํ ๋, .newLine(); (์๋ ์ค๋ฐ๊ฟ์ด ๋์ง ์์)
default : false(overwite)
true(new/append) (๋ด์ฉ์ถ๊ฐ)
๐ .size()
: ์ปฌ๋ ์
ํ๋ ์ ์ํฌ, ์๋ฃ๊ตฌ์กฐ์ ํฌ๊ธฐ ๊ตฌํ๊ธฐ (ArrayList, Stack, Queue, HashMap ... )
๐ก .length
: ๋ฐฐ์ด์ ๊ธธ์ด (int[], String[], double[] ...)
๐ก .length()
: ๋ฌธ์์ด์ ๊ธธ์ด (String, StringBuilder ...)
ex1) ๋ฐฐ์ด์ ๊ธธ์ด ๊ตฌํ๊ธฐ
package test;
public class Test {
public static void main (String[] args){
byte[] array = {1, 2, 3, 4};
System.out.println("array length = " + array.length);
}
}
array length = 4
ex2) ๋ฌธ์์ด ๊ธธ์ด ๊ตฌํ๊ธฐ
package test;
public class Test{
public static void main(String[] args){
String str = "Hello World!";
System.out.println("str length = " + str.length());
}
}
str length = 12
๐ ํฅ์๋ for๋ฌธ
: ๋ฐฐ์ด๋ก ๋ชจ๋ ์์๋ฅผ ์ฐธ์กฐํ๊ธฐ ์ํด ์๋กญ๊ฒ ์ถ๊ฐ๋ ๋ฐ๋ณต๋ฌธ
๋ฐฐ์ด์ ๊ธธ์ด๋งํผ ๋ฐ๋ณตํ๋ ์์ ์ ์ํ
for(ํ์
๋ณ์์ด๋ฆ : ๋ฐฐ์ด){
๋ฐฐ์ด์ ๊ธธ์ด๋งํผ ๋ฐ๋ณต์ ์ผ๋ก ์คํํ๊ณ ์ ํ๋ ๋ช
๋ น๋ฌธ;
}
'JAVA' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
#19 [Java] LocalDate Class, StringBuffer Class (0) | 2022.10.28 |
---|---|
#18 [Java] substring, object (0) | 2022.10.27 |
#16 [Java] File Class, MVC pattern, Java Bean, .split() (0) | 2022.10.27 |
#15 [Java] Date Class, .toUpperCase(), .toLowerCase(), (0) | 2022.10.27 |
#14 [Java] (0) | 2022.10.27 |
๋๊ธ