Java programming39 [Java programming] Java ์ปฌ๋ ์ ์ ๋ฆฌ (Collection) ์ ๋ฆฌ - ์๋ฐ์ ์ฌ๋ฌ ์๋ฃ๊ตฌ์กฐ โฆ Java Collection FrameWork(JCF) ์๋ฐ์์ ์ปฌ๋ ์ ์ด๋ ๊ฐ์ฒด(๋ฐ์ดํฐ)์ ํฉ, ๊ทธ๋ฃน, ๋ชจ์์ ์๋ฏธํ๋ค. ์๋ฐ์์ ๋ชจ๋ ์ปฌ๋ ์ ํด๋์ค์ ์ธํฐํ์ด์ค๋ฅผ ํฌํจํ๋ "Collection FrameWork" ๋ผ๋ ๊ฐ๋ ์ด JDK1.2์์ ์ ์ ๋์๋ค. - ๋ค์์ ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ณ ํจ๊ณผ์ ์ผ๋ก ์ฒ๋ฆฌํ ์ ์๋ ํ์คํ๋ ๋ฐฉ๋ฒ์ ์ ๊ณตํ๋ ํด๋์ค์ ์งํฉ์ ์๋ฏธํ๋ค. - ์ฆ, ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ์๋ฃ ๊ตฌ์กฐ์ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๋ ์๊ณ ๋ฆฌ์ฆ์ ๊ตฌ์กฐํํ์ฌ ํด๋์ค๋ก ๊ตฌํํด ๋์ ๊ฒ์ ๋งํ๋ค. ์ด๋ฌํ ์ปฌ๋ ์ ํ๋ ์์ํฌ๋ ์๋ฐ์ ์ธํฐํ์ด์ค(Interface)๋ฅผ ์ฌ์ฉํ์ฌ ๊ตฌํ๋๋ค. ๐ก ์ฌ๊ธฐ์ ์ ๊น! ๋ฐ์ดํฐ๋ฅผ ๋ด๊ณ ์ฒ๋ฆฌํ๋ ๋ฐฉ๋ฒ์๋ ๋ฐฐ์ด(Array)์ด ์๋๋ฐ ์ Collection์ ์ฌ์ฉํ๋ ๊ฑธ๊น? ๋ฐฐ์ด๊ณผ์ ์ฐจ์ด์ ์ ์ ์ ๋ฉ๋ชจ๋ฆฌ.. Java programming 2023. 7. 19. (22.11.02)Java ํ๋ก๊ทธ๋๋ฐ: ๋คํธ์ํฌ ๋ฐ์ดํฐ ํต์ , Stream, ์น์๋ฒ ํ๋ก๊ทธ๋๋ฐ ๋ฉ์์ง์ ์์ ์ ์ก์ ์๋ฅผ ๊ฐ์ฒดํ ํ์ฌ ๊ฐ์ฒด๋ฅผ ๋ฐ์ดํธ ๋ฐ์ดํฐ๋ก ๋ฐ๊พธ์ด ๋ฐ์ดํฐ ์ก์์ ํ๊ธฐ ChatMsg ํด๋์ค ์ฝ๋ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 import java.io.Serializable; public class ChatMsg implements Serializable{ private String sender; private String receiver; private String message.. Java programming 2022. 11. 2. (22.11.01)Java ํ๋ก๊ทธ๋๋ฐ: ๋คํธ์ํฌ ๋ฐ์ดํฐ ๊ต๋ฅ(Client - Server) ํด๋ผ์ด์ธํธ๊ฐ ์ ์ํ์ฌ ์๋ฒ๋ก ๋ฉ์์ง๋ฅผ ์ ์กํ๋ฉด ์๋ฒ์ธก์์ ๊ทธ ๋ฉ์์ง๋ฅผ ์์ ํ์ฌ ๋ค์ ๊ทธ ํด๋ผ์ด์ธํธ์๊ฒ ์ ์กํ๋ ๊ธฐ๋ฅ์ ์์ฑํด๋ณด๋ผ. ํด๋ผ์ด์ธํธ ์ธก์์๋ ํค๋ณด๋์์ ๋ฉ์์ง๋ฅผ ์ ๋ ฅ ๋ฐ์์ ์๋ฒ๋ก ์ ์กํด์ผํ๋ค. (์์ฝ ์๋ฒ) Server ํด๋์ค ์ฝ๋ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 import java.io.*; import java.net.*; public class Server { public static void main(String[] args) { try.. Java programming 2022. 11. 1. (22.10.31)Java ํ๋ก๊ทธ๋๋ฐ: Thread, Stream ์ค์ต ๋คํธ์ํฌ๊ฐ ์ํต ํค๋ณด๋์์ ์ซ์๋ฅผ ์ ๋ ฅํ ๋๋ง๋ค ์ ๋ ฅ๋ ์์ ๊ตฌ๊ตฌ๋จ์ด ํ๋ฉด์ ํ์๋๋ ๊ธฐ๋ฅ์ ๋ฌดํํ ๋ฐ๋ณตํ๋ค. ๊ทธ์ ๋์์ ์ค๋ ๋ ์ง๋ฅผ 1์ด์ ํ๋ฒ์ฉ dates.txt ํ์ผ์ ํํ์ผ๋ก ๊ธฐ๋กํ๊ธฐ๋ฅผ ๋ฌดํํ ๋ฐ๋ณตํ๋ค. ๋ง์ฝ ์ด์ฉ์๊ฐ ์ซ์๋ฅผ ์ ๋ ฅํ๋ ๋์ ๋ฌธ์๋ฅผ ์ ๋ ฅํ๋ฉด, ๋ชจ๋ ๊ธฐ๋ฅ์ด ์ ์ง๋๊ณ ํ๋ก๊ทธ๋จ์ด ์ข ๋ฃ๋๋๋กํ๋ค. Thread๋ฅผ ์ข ๋ฃํ๋ ค๋ฉด ์ฐ๋ ๋๊ฐ ์คํํ๋ ๋ฌดํ ๋ฃจํ๋ฅผ ์์ ํ ์ข ๋ฃํ๋ฉด ๋๋ค. Daemon ์ฐ๋ ๋ : ์ด๋ค ์ฐ๋ ๋๊ฐ ์ข ๋ฃํ ๋, ๊ทธ ์ฐ๋ ๋๊ฐ ์์ฑํ ํ์ ์ฐ๋ ๋๋ ํจ๊ป ์ข ๋ฃ๋๋ ์ฐ๋ ๋ Main() ๋ฉ์๋๋ ์๋ฐ์์ ์ง์ํ๋ Main Thread๊ฐ ์คํํ๋๋ก ๋์ด ์๊ณ , Main() ๋ฉ์๋ ์์์ ์์ฑ๋๋ ์ฐ๋ ๋๋ Main Thread์ ํ์ (์์) ์ฐ๋ ๋์ธ ์ ์ด๋ค. ๋ถ๋ชจ ์ฐ๋ ๋๊ฐ ์ข ๋ฃํ ๋ ๊ทธ ์์์ ์์ฑ๋ .. Java programming 2022. 10. 31. (22.10.28)Java ํ๋ก๊ทธ๋๋ฐ: ์ง๋ ฌํ ์ญ์ง๋ ฌํ ์ค์ต, Thread ์ค์ต List ์ง๋ ฌํ๋ฅผ ์ฌ์ฉํ CRUD ์ค์ต ์ด์ฉ์๊ฐ ํค๋ณด๋์์ ์ฌ์์ ๋ณด๋ฅผ ๊ด๋ฆฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ๋ ค๊ณ ํ๋ค. ํ ์คํธ ํ์ผ์ ์ฌ์ฉํ์ง ์๊ณ List์ ์ง๋ ฌํ๋ฅผ ์ฌ์ฉํ์ฌ ์์ฑํ๋ค. ์ฌ์์ ๋ณด ์ถ๊ฐ์ ์ ํค๋ณด๋ ์ ๋ ฅ > Employee๊ฐ์ฒด ์์ฑ >๋ฆฌ์คํธ์ ์ ์ฅ > ๋ฆฌ์คํธ ์ง๋ ฌํ ๋ชฉ๋ก ์ถ๋ ฅ์ ์ ์ง๋ ฌํ ๋ ๋ฆฌ์คํธ๋ฅผ ๋ณต์ > ํ๋ฉด์ ๋ฆฌ์คํธ ์ถ๋ ฅ Employee ํด๋์ค ์ฝ๋ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 import java.io.Serializable; public class Employ.. Java programming 2022. 10. 28. (22.10.27)Java ํ๋ก๊ทธ๋๋ฐ: Stream์ค์ต ByteStream, ์ง๋ ฌํ Serialization Stream์ ์ด์ฉํ ์ค์ต msg1์ ๋ด์ฉ์ msg2๋ก ๋ณด๋ด๊ณ msg2์ ๋ด์ฉ์ msg1์ผ๋ก ๋ณด๋ด๋ ๊ธฐ๋ฅ์ ๋ง๋ค์ด ๋ณด๋ผ ํ๋ก๊ทธ๋จ ๊ตฌ๋ ์ ๋ฌธ์ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 import java.io.BufferedReader; import java.io.FileReader; import java.io.FileWriter; public class StreamMain { public static void main(String[] args) { fileSwap(); } private static void fileSwap() { String fpath1 = "D:/.. Java programming 2022. 10. 28. (22.10.26)Java ํ๋ก๊ทธ๋๋ฐ: Stream ์ค์ต -์ ๋ ฅ์คํธ๋ฆผ, ์ถ๋ ฅ์คํธ๋ฆผ ํ ์คํธ ํ์ผ์ 5์ธ์ ์ ๋ณด๋ฅผ ์ ์ฅํ๋ค ๊ฐํ์ ํฌ๋งท์ ๋ฒํธ|์ด๋ฆ|์ ํ ์๋ฐ ์คํธ๋ฆผ์ ์ด์ฉํ์ฌ ํ ์คํธ ํ์ผ์ ์ฝ์ด๋ค์ผ๋ ํน์ ์ธ์ ์ด๋ฆ์ ํ์ธํ์ฌ ์ด๋ฆ๊ณผ ์ ํ๋ฒํธ๋ฅผ ํ๋ฉด์ ํ์ํด๋ณด์ธ์. Main ๋ฉ์๋๋ง ์ด์ฉํ๊ธฐ ๋ฌธ์๋ด์ฉ Main ํด๋์ค ์ฝ๋ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 import java.io.FileReader; import java.io.BufferedReader; public class StreamMain { public static void main(String[] args) { try { FileReader fr = new FileReader("D:/java_test/info.txt"); BufferedReader.. Java programming 2022. 10. 26. (22.10.25)Java ํ๋ก๊ทธ๋๋ฐ: Stream ์ค์ต ํ์๋ฒํธ, ํ์์ด๋ฆ ๊ฐ 5๊ฐ๋ฅผ ์ค๋ณต๋์ง ์๋๋ก ์ ๋ ฅํ๊ณ ๋ฒํธ์์ผ๋ก ์ด๋ฆ์ ํจ๊ป ํ๋ฉด์ ํ์ํ๋ค ๋ค์ ์ด๋ฆ์์ผ๋ก ์ ๋ ฌํ์ฌ ๋ฒํธ์ ํจ๊ป ์ด๋ฆ์ ํ์ํ๋ค. ์ด๋ ์๋ ์ด๋ฆ์ ๋ถ์ฌ์ง ๋ฒํธ๊ฐ ๋ณ๊ฒฝ๋์ง ์๋๋กํ๋ค ๋ฒํธ์์ผ๋ก ์ด๋ฆ์ ํจ๊ป ํ๋ฉด์ ํ์ํ๊ธฐ ์ํด (Map)๋ฅผ ์ด์ฉํ๋ค. Main ํด๋์ค ์ฝ๋ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; import com.ezen... Java programming 2022. 10. 25. (22.10.24)Javaํ๋ก๊ทธ๋๋ฐ:HashSet ์ ๋ ฌ ๋ฐฉ๋ฒ๊ณผ Map(HashMap) HashSet์ ์ค๋ณต์ ํผํด์ ์ ์ฅํ๊ธฐ ํ์ต๊ณผ์ (Course)์ ๊ด๋ฆฌํ๋ ๊ธฐ๋ฅ ์์ฑ Course ๊ณผ์ ๋ช (name), ๊ฐ์ค์ฐ๋(year), ์ฐจ์(num), ๋ด๋น๊ต์ฌ(teacher)๊ฐ ์๊ณ ์ด์ค ๊ณผ์ ๋ช , ๊ฐ์ค์ฐ๋, ์ฐจ์๊ฐ ๋์ผํ๋ฉด ๋์ผ๊ณผ์ ์ผ๋ก ๊ฐ์ฃผํ๋ค. ํค๋ณด๋์์ ์์ฑ๊ฐ์ ์ ๋ ฅ๋ฐ์์ Course๊ฐ์ฒด๋ฅผ ์ด๊ธฐํ ํ๋ค. ๋์ผํ ๊ฐ์ฒด๊ฐ ์ค๋ณต๋์ง ์๋๋ก ํ๋ค. ์ ๋ ฅ๋ Course ๋ด์ฉ์ ํ๋ฉด์ ๋ชฉ๋ก์ผ๋ก ํ์ํ๋ค. Main ํด๋์ค ์ฝ๋ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 import java.util.HashSet; import java.util.Scanner; import java.util.Iterator; imp.. Java programming 2022. 10. 24. (22.10.22.)Java ํ๋ก๊ทธ๋๋ฐ: HashSet์ ์ด์ฉํ CRUD Book ์ด๋ผ๋ ํด๋์ค๋ฅผ ๋ง๋ค์ด ์์ฑ์ ์ ์, ์ ๋ชฉ, ์ถํ์ผ, ๊ฐ๊ฒฉ 4๊ฐ์ง๋ก ํ๊ณ ๋์ผํ ๋์ ์ ๋ณด๊ฐ ์ค๋ณต๋์ง ์๋๋ก ํค๋ณด๋์์ ์ ๋ณด๋ฅผ ์ปฌ๋ ์ ์ ์ ์ฅํด๋ณด๊ณ , ์ ์, ์ ๋ชฉ, ์ถํ์ผ ์์ฑ์ด ๋ชจ๋ ์ผ์นํ๋ ๋์๋ฅผ ๋์ผ ๋์๋ก ๊ฐ์ฃผํ๋ค. ์ด๋ฅผ ํตํด CRUD ๊ธฐ๋ฅ์ ๋ง๋ค์ด๋ณด์! Book Class ์ฝ๋ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 import java.util.Objects; public class Book { private String author; private Str.. Java programming 2022. 10. 22. (22.10.21)Java ํ๋ก๊ทธ๋๋ฐ Set, HashSet, Autoboxing, Unboxing ArrayList์๋ฃ๊ตฌ์กฐ๋ฅผ ์์ฑํ๊ณ ๋ฌด์์ ์ ์ (1~20)๋ฅผ 10๊ฐ๋ฅผ ์ ์ฅํ๋ค. ๋จ ์ค๋ณต๋์ง ์๋๋ก 10๊ฐ๋ฅผ ์ ์ฅํ๋ค. ArrayList๋ฅผ ์ถ๋ ฅํด ๋ณด๋ผ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 import java.util.ArrayList; import java.util.Random; public class ExceptionMain { public static void main(String[] args) { ArrayList list = new ArrayList(); Random rd = new Random(); for(int y=0; ;y++) { int i = rd.nextInt(20)+1; list.add(y, i.. Java programming 2022. 10. 21. (22.10.20)Java ํ๋ก๊ทธ๋๋ฐ ArrayList๋ฅผ ํ์ฉํ CRUD ArrayList ์ค์ต **ํค๋ณด๋๋ก๋ถํฐ ์ฑ ์ ์ ์(Author) ์ ๋ณด๋ฅผ ์ ๋ ฅ๋ฐ์์ Author ๊ฐ์ฒด ์์ฑ(์์ฑ:๋ฒํธ ์ด๋ฆ ์ ํ๋ฒํธ) 3์ธ์ ์ ์ฅ ์ ๋ณด๋ฅผ Arraylist์ ์ ์ฅํ์ฌ printAuthor() ๋ฉ์๋ ํธ์ถํ์ฌ printAuthor() ๋ฉ์๋๋ ๋ฆฌ์คํธ์ ํฌํจ๋ ์ ์ ๋ชฉ๋ก์ ํ๋ฉด์ ํ์ํ๋ค searchAuthor() ๋ฉ์๋๋ฅผ ํธ์ถํ์ฌ ๋ฆฌ์คํธ์์ ๋ฒํธ๋ก ๊ฒ์ํ์ฌ ์ ๋ณด๋ฅผ ์ฐพ๋ ๊ธฐ๋ฅ์ ์์ฑํ๋ค. Main ํด๋์ค ์ฝ๋ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 import java.util.ArrayList; import java.util.Scann.. Java programming 2022. 10. 20. ์ด์ 1 2 3 4 ๋ค์