From f0577e89668bced868f493ac49a985bc5fffd92e Mon Sep 17 00:00:00 2001 From: Karen Date: Wed, 28 Nov 2018 18:16:21 +0100 Subject: [PATCH 01/15] Update .gitignore --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 3f096ef..75f510f 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ .idea/workspace.xml +.idea/compiler.xml From 5658f157dd406f28edad443158ae127f0e347977 Mon Sep 17 00:00:00 2001 From: Karen Date: Thu, 29 Nov 2018 19:42:30 +0100 Subject: [PATCH 02/15] Update SimpleChatClient add incoming messages --- .idea/workspace.xml | 215 ++++-------------- ...SimpleChatClientA_C15$IncomingReader.class | Bin 0 -> 1362 bytes ...leChatClientA_C15$SendButtonListener.class | Bin 1213 -> 1213 bytes .../SimpleChatClientA_C15.class | Bin 2081 -> 3137 bytes src/SimpleChatClientA_C15.java | 33 ++- 5 files changed, 73 insertions(+), 175 deletions(-) create mode 100644 out/production/HeadFirstJavaExamples/SimpleChatClientA_C15$IncomingReader.class diff --git a/.idea/workspace.xml b/.idea/workspace.xml index a9e9e7c..02ba166 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -1,12 +1,9 @@ - + - - - - + - - - - - - - - - - - - - - - - + - - + + - - + + - - - - - - - - - - - - - - - - - + + + @@ -77,13 +45,7 @@ - \ No newline at end of file diff --git a/src/CHAPTER_14/ReadAFile_C14.java b/src/CHAPTER_14/ReadAFile.java similarity index 95% rename from src/CHAPTER_14/ReadAFile_C14.java rename to src/CHAPTER_14/ReadAFile.java index 04c329e..d1601be 100644 --- a/src/CHAPTER_14/ReadAFile_C14.java +++ b/src/CHAPTER_14/ReadAFile.java @@ -4,7 +4,7 @@ import java.io.File; import java.io.FileReader; -public class ReadAFile_C14 { +public class ReadAFile { public void go() { try { File file = new File("MyFile_C14.txt"); diff --git "a/src/CHAPTER_15/DailyAdviceClient_\320\24115.java" b/src/CHAPTER_15/DailyAdviceClient.java similarity index 94% rename from "src/CHAPTER_15/DailyAdviceClient_\320\24115.java" rename to src/CHAPTER_15/DailyAdviceClient.java index a425d7b..56bc355 100644 --- "a/src/CHAPTER_15/DailyAdviceClient_\320\24115.java" +++ b/src/CHAPTER_15/DailyAdviceClient.java @@ -5,7 +5,7 @@ import java.io.InputStreamReader; import java.net.Socket; -public class DailyAdviceClient_С15 { +public class DailyAdviceClient { public void go() { try { Socket s = new Socket("127.0.0.1", 4242); diff --git a/src/CHAPTER_15/DailyAdviceServer_C15.java b/src/CHAPTER_15/DailyAdviceServer.java similarity index 95% rename from src/CHAPTER_15/DailyAdviceServer_C15.java rename to src/CHAPTER_15/DailyAdviceServer.java index 1a960c0..f2e2fb6 100644 --- a/src/CHAPTER_15/DailyAdviceServer_C15.java +++ b/src/CHAPTER_15/DailyAdviceServer.java @@ -4,7 +4,7 @@ import java.net.*; -public class DailyAdviceServer_C15 { +public class DailyAdviceServer { String[] adviceList = {"Advice 1", "Advice 2", "Advice 3", "Advice 4"}; public void go() { diff --git a/src/CHAPTER_15/SimpleChatClientA_C15.java b/src/CHAPTER_15/SimpleChatClientA.java similarity index 98% rename from src/CHAPTER_15/SimpleChatClientA_C15.java rename to src/CHAPTER_15/SimpleChatClientA.java index c30e334..da4bcf9 100644 --- a/src/CHAPTER_15/SimpleChatClientA_C15.java +++ b/src/CHAPTER_15/SimpleChatClientA.java @@ -10,7 +10,7 @@ import java.io.PrintWriter; import java.net.Socket; -public class SimpleChatClientA_C15 { +public class SimpleChatClientA { JTextArea incoming; JTextField outgoing; BufferedReader reader; diff --git a/src/CHAPTER_15/VerySimpleChatServer_C15.java b/src/CHAPTER_15/VerySimpleChatServer.java similarity index 95% rename from src/CHAPTER_15/VerySimpleChatServer_C15.java rename to src/CHAPTER_15/VerySimpleChatServer.java index ff6f3aa..22d39ef 100644 --- a/src/CHAPTER_15/VerySimpleChatServer_C15.java +++ b/src/CHAPTER_15/VerySimpleChatServer.java @@ -4,7 +4,7 @@ import java.net.*; import java.util.*; -public class VerySimpleChatServer_C15 { +public class VerySimpleChatServer { ArrayList clientOutputStreams; public class ClientHanlder implements Runnable { @@ -31,7 +31,7 @@ public void run(){ } public static void main(String[] args){ - new VerySimpleChatServer_C15().go(); + new VerySimpleChatServer().go(); } public void go() { diff --git a/src/CHAPTER_16/Jukebox1_C16.java b/src/CHAPTER_16/Jukebox1.java similarity index 96% rename from src/CHAPTER_16/Jukebox1_C16.java rename to src/CHAPTER_16/Jukebox1.java index 8152743..a290911 100644 --- a/src/CHAPTER_16/Jukebox1_C16.java +++ b/src/CHAPTER_16/Jukebox1.java @@ -7,7 +7,7 @@ import java.util.Collections; -public class Jukebox1_C16 { +public class Jukebox1 { ArrayList songList = new ArrayList(); public void go() { diff --git a/src/Main.java b/src/Main.java index 96442c8..53a3656 100644 --- a/src/Main.java +++ b/src/Main.java @@ -7,18 +7,18 @@ public static void main(String[] args) { // CHAPTER 14 - // ReadAFile_C14 readAFile_c14 = new ReadAFile_C14(); - // readAFile_c14.go(); + // ReadAFile readAFile = new ReadAFile(); + // readAFile.go(); // CHAPTER 15 - // DailyAdviceServer_C15 server = new DailyAdviceServer_C15(); + // DailyAdviceServer server = new DailyAdviceServer(); // server.go(); - // DailyAdviceClient_С15 client = new DailyAdviceClient_С15(); + // DailyAdviceClient client = new DailyAdviceClient(); // client.go(); - // new SimpleChatClientA_C15().go(); + // new SimpleChatClientA().go(); // CHAPTER 16 - new Jukebox1_C16().go(); + new Jukebox1().go(); } } From db17f8b5529ce3a9fc0df784cd0cde17fb716dab Mon Sep 17 00:00:00 2001 From: Karen Date: Sat, 12 Jan 2019 18:30:01 +0100 Subject: [PATCH 08/15] rename classes --- .idea/workspace.xml | 115 +++++++++++------- SongList_C16.txt | 14 +-- .../CHAPTER_14/ReadAFile.class | Bin 0 -> 1157 bytes .../CHAPTER_15/DailyAdviceClient.class | Bin 0 -> 1371 bytes .../CHAPTER_15/DailyAdviceServer.class | Bin 0 -> 1509 bytes .../SimpleChatClientA$IncomingReader.class | Bin 0 -> 1393 bytes ...SimpleChatClientA$SendButtonListener.class | Bin 0 -> 1244 bytes .../CHAPTER_15/SimpleChatClientA.class | Bin 0 -> 3168 bytes .../VerySimpleChatServer$ClientHanlder.class | Bin 0 -> 1752 bytes .../CHAPTER_15/VerySimpleChatServer.class | Bin 0 -> 2146 bytes .../CHAPTER_16/Jukebox.class | Bin 0 -> 1865 bytes .../CHAPTER_16/Song.class | Bin 0 -> 1334 bytes .../DailyAdviceClient_\320\24115.class" | Bin 1364 -> 0 bytes .../DailyAdviceServer_C15.class | Bin 1499 -> 0 bytes .../HeadFirstJavaExamples/Jukebox1_C16.class | Bin 1687 -> 0 bytes .../HeadFirstJavaExamples/Main.class | Bin 407 -> 413 bytes .../HeadFirstJavaExamples/ReadAFile_C14.class | Bin 1147 -> 0 bytes ...SimpleChatClientA_C15$IncomingReader.class | Bin 1362 -> 0 bytes ...leChatClientA_C15$SendButtonListener.class | Bin 1213 -> 0 bytes .../SimpleChatClientA_C15.class | Bin 3137 -> 0 bytes ...rySimpleChatServer_C15$ClientHanlder.class | Bin 1721 -> 0 bytes .../VerySimpleChatServer_C15.class | Bin 2122 -> 0 bytes .../{Jukebox1.java => Jukebox.java} | 7 +- src/Main.java | 4 +- 24 files changed, 82 insertions(+), 58 deletions(-) create mode 100644 out/production/HeadFirstJavaExamples/CHAPTER_14/ReadAFile.class create mode 100644 out/production/HeadFirstJavaExamples/CHAPTER_15/DailyAdviceClient.class create mode 100644 out/production/HeadFirstJavaExamples/CHAPTER_15/DailyAdviceServer.class create mode 100644 out/production/HeadFirstJavaExamples/CHAPTER_15/SimpleChatClientA$IncomingReader.class create mode 100644 out/production/HeadFirstJavaExamples/CHAPTER_15/SimpleChatClientA$SendButtonListener.class create mode 100644 out/production/HeadFirstJavaExamples/CHAPTER_15/SimpleChatClientA.class create mode 100644 out/production/HeadFirstJavaExamples/CHAPTER_15/VerySimpleChatServer$ClientHanlder.class create mode 100644 out/production/HeadFirstJavaExamples/CHAPTER_15/VerySimpleChatServer.class create mode 100644 out/production/HeadFirstJavaExamples/CHAPTER_16/Jukebox.class create mode 100644 out/production/HeadFirstJavaExamples/CHAPTER_16/Song.class delete mode 100644 "out/production/HeadFirstJavaExamples/DailyAdviceClient_\320\24115.class" delete mode 100644 out/production/HeadFirstJavaExamples/DailyAdviceServer_C15.class delete mode 100644 out/production/HeadFirstJavaExamples/Jukebox1_C16.class delete mode 100644 out/production/HeadFirstJavaExamples/ReadAFile_C14.class delete mode 100644 out/production/HeadFirstJavaExamples/SimpleChatClientA_C15$IncomingReader.class delete mode 100644 out/production/HeadFirstJavaExamples/SimpleChatClientA_C15$SendButtonListener.class delete mode 100644 out/production/HeadFirstJavaExamples/SimpleChatClientA_C15.class delete mode 100644 out/production/HeadFirstJavaExamples/VerySimpleChatServer_C15$ClientHanlder.class delete mode 100644 out/production/HeadFirstJavaExamples/VerySimpleChatServer_C15.class rename src/CHAPTER_16/{Jukebox1.java => Jukebox.java} (80%) diff --git a/.idea/workspace.xml b/.idea/workspace.xml index cfac3ae..cdd992a 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -3,12 +3,8 @@ - - - - - - + + @@ -27,10 +23,31 @@ - - + + + + + + + + + + + + - + + + + + + + + + + + + @@ -86,13 +103,14 @@ - - + + - - + + + @@ -133,6 +151,8 @@ @@ -169,18 +189,6 @@ - - - - - - - - - - - - @@ -360,6 +368,7 @@ + @@ -368,10 +377,10 @@ - + - + @@ -397,9 +406,7 @@ - - - + @@ -415,9 +422,7 @@ - - - + @@ -499,31 +504,51 @@ - + - - + + + + + + + + + + + - + - - - + + + + + + + + + + + + + + + + - - - - - + + + diff --git a/SongList_C16.txt b/SongList_C16.txt index 5a2d5aa..480a1a2 100644 --- a/SongList_C16.txt +++ b/SongList_C16.txt @@ -1,7 +1,7 @@ -Pink Moon/Nick Drake -Somersault/Zero 7 -Shiva Moon/Prem Joshua -Circles/BT -Deep Channel/Afro Celts -Passenger/Headmix -Listen/Tahiti 80 \ No newline at end of file +Pink Moon/Nick Drake/5/80 +Somersault/Zero 7/4/84 +Shiva Moon/Prem Joshua/6/120 +Circles/BT/5/110 +Deep Channel/Afro Celts/4/120 +Passenger/Headmix/4/100 +Listen/Tahiti 80/5/90 \ No newline at end of file diff --git a/out/production/HeadFirstJavaExamples/CHAPTER_14/ReadAFile.class b/out/production/HeadFirstJavaExamples/CHAPTER_14/ReadAFile.class new file mode 100644 index 0000000000000000000000000000000000000000..2666f91c2ab297e7c3b4a397d2b5fdd7b15ab29a GIT binary patch literal 1157 zcmZuwT~pIQ6g}If-4a59wjd}9ejqI$t!P!G2$Tw<7G!{7rcX>rw-^i!6H*6$5zqKQ zXJp1lAN(=?03XD=X(;VzJKc28xp(im=Wc%f`Su+^79UjfV3K1hg0zYNG8|7-gfPwV zR0YQ~xnw)=94}P7#Ejg&;+R#@g&fBm$7_c0oLM#9d4^yzwZotk?6P3!E}B)bUOU_q z&bGd15fUrfhHmZXjw$y(sJNfZV}|}>VKu+8y}Y?Qoy}|ty_{b$Es&7!=iYz4eIOfSG26fA>IfjsesR3Eh>ntrR zY3N0aL2K=bg4RxD^lo7~n|4oJ8MHv!T7w$GC9_D@T{G=%Nj9%x2?dTf8kVub@m9ks z7Bsw*W#e9+*KD&T4euqD_}?%XdTug4?i~ojZG#$)kyptUvwR!nz3BDv>+wk}euMeL zkZ8mqo88A66- zA5*<<5AmkD?dXQUeRR_+B0m984~Wqkr(K4gjGm$KI@q~KCuj|OAV(kl*BSxn$1U11 z3^bE}BSfnD`6Q9QRHD literal 0 HcmV?d00001 diff --git a/out/production/HeadFirstJavaExamples/CHAPTER_15/DailyAdviceClient.class b/out/production/HeadFirstJavaExamples/CHAPTER_15/DailyAdviceClient.class new file mode 100644 index 0000000000000000000000000000000000000000..ffe5654a5fe81c70b313aabbc08d793a24e45a5d GIT binary patch literal 1371 zcmaJ>*-{!o6g|y0IF5q25{)rt!v#^JF)lF?l!!qwLag#BH4d#A#Tg0)EBr=&BG2Xl zs$x|>ARm%n$XhD62b3{df#UXb-*cC9`Z7QNeE$Jp4*N3t5S1|HM@)tb(-LOHIxEAA z=Mv^*_%Scci#9CarG!Np3Zi~2iFH|+6&bIvDlo4lyphq3H3@ME2?pPaZs^u3gF7;| z&)`XzdCm|>>jvMcoE`E~PCYEpNhob0;kJ^jM$tGQ)5>vAMRJ+t~X!Gap-5 z^+I(mf39mhQP8*#j>V$%7s%YTP3cZ?Qu2FOALbzh;GJG zMzLaL9ZmxK2x`Lyu3_=Y(Gf54d?SItsCISHvt6yA8pkopqZ`NMWkja;IyjZt_^k1w zrJDx%IoI?x+AB1b@e;3OTY*o)3o^Z{g-Xpg~Pl?IuJm!|; zMyd74SnC>ES54P2(9CgDr)80)yX9)$w>b5SsSqQ}&~ug5p$VmQbegS}Eq+D=Z&s+^ z)+p@KfHcRA0(@$*$c;Qh^bSJJ#vLV^vQwbnG8?nz5Y~~JK`M$u1%qnem73^ywSrkD zE&&^9&t$HoY8(&IOD_ZQae)NH0NF6@Vze?^z2kMT3)_8?N$?46y2A6Oqh%$gf9_l)oL3MNI@*9K#PDC4FnxT<45f<%)*hFVNE7fpP>Kx zqc73FwaY?RUHSlhfxbW=qf6cQPG~09<&WH)d(XLNpS{nS``4R4UjvwgrK1mDX_!i3 zI)w`9b8`7w!#6tSaal(i3p(A4(pr+sm3DlKt2&mkq~V&5E?n19 z#EOPh4J85H+S+q%r|8xKfv$VS$JU-zs94qQf*JU3b^DS)a>lK?!JI%WKeQnbU+}gZ zflSe@I;-_3n~uM3ZB}@aD|)t7*|2<9?i+{k;E`JsI9^=1I={BQbo1f(`NE>*R-Vl( zT+{LQ9G@U<+a8f>p1tF+kj}7lo7Zr~<+uOeDS)nFP}$1NGRVc<)Q8@P=-2Fe)FaM!>++}H3Rayg=w zf$wD0Ljx1|USRNJ1JFXUwE5VvIRx?ivYfZ1WlQ}Dawu!dSY(>a8pD%eD@yfXw;phW z9gBh=J-kVJQ4bs1pZ{-~T09b2+m-WGsZzd1RP@7;5ed8E)!4vji=Nd2hnO+1&YItw z)vzGKwyJ$tXGQ_45nJ~yn~6J`yN3Yim|O}>$7yG< zl=C{TN_D#aK+o_CXs>_V`DsQP0~5dUI4a-(84Rl0dc!LXB!kjU;2aYQGLd)AzXNxN BOlklC literal 0 HcmV?d00001 diff --git a/out/production/HeadFirstJavaExamples/CHAPTER_15/SimpleChatClientA$IncomingReader.class b/out/production/HeadFirstJavaExamples/CHAPTER_15/SimpleChatClientA$IncomingReader.class new file mode 100644 index 0000000000000000000000000000000000000000..1da7d6aaaf4945cf403af683417ddd33a07a0902 GIT binary patch literal 1393 zcmaJ>Yf}vf&RtPFu+Ra-?-a+M(Gk$7TIO-ZK%(4{yB0t+0&g4v= znm+WKn(RFbiblgYzB})EZ_jz3hx6;tx9887fsB))RtwTx-ZNSKw;g*gfH65dFNGC0ixtvoc&Fc6QeM7J`FsrM68 zk+fDQ<$3HtHDh^=>t=MCGG{bhGv^ovgY8p?w;3Fb`~GQ2nSz@~XZcNt*_Zqf{HOGWg=n$YM3iOQu%TDcG4d)$E6aTC(6uSg`gt z%OIzV6(h@+G;uS3%hJX~I|V)PDexm8A*SFh79}hxSjLKkRRwEUXXtItts`2fXnAV` z9R{r;pdgNff(=o#sbC991u3K%m@FY9qDh8Z%_f)N6}&@$A>5AIfA+@UX*Sy2J>*%F zSZf}oD!N{$@=9JEHA8>9K_nq@8$oPeebZVovQXLE;|9;wDW_%otx+uz2A3!ndSd7a z4qu__lEkZkK9@~iAo7b9g5MyPnr;!_CKYhCK(m}`sl@dhDJ$68uXRL&6)JR@#fvM~ z*M7Y<$*m*?ghr(aMLZ`4DTRFGMIw=QO!5y;xdKT_t zfIP~#x{=gyAAv@%AF$IOkPMxGoxom$V<-L-Ghfhg2ItNxB(JLmcbNWbkZZV6&r=#f zaqjKB2;Mw8KRbdeF;au)xB+CHUMV{SG(S4XCdl7F5Ss)tN%~J&Py>{sV4g1jfa>CK v;30-A_{j$RM^xKO=fANm;qf`en1m<71RdlIQ`m+O?$KAK7Txq%_JjQe@b*u1 literal 0 HcmV?d00001 diff --git a/out/production/HeadFirstJavaExamples/CHAPTER_15/SimpleChatClientA$SendButtonListener.class b/out/production/HeadFirstJavaExamples/CHAPTER_15/SimpleChatClientA$SendButtonListener.class new file mode 100644 index 0000000000000000000000000000000000000000..1dae32f17001cdc4adf59ba096ba8a7c15e8f7f7 GIT binary patch literal 1244 zcmaJ>TT|0e5dKanq{INVKt<&uh*$~|KoA8Al-hckqKxg}qZ86Y35KL5r_g`oi!aPz zo$C2w%?ss;-y`231^Ya&gCA{iJ4<4!L#Z)&QBPGSOiZo_a%;Jd@ za|(17G0exXAU%sxJXNryU|GR4hAwev`IGYuqs83o>~1;#;nTvhUb2pBHqRXzB4=CN z5!p3Du3L^JHW^;M?q#hchk_7om z+^KBWg>apsd3&Csd%G4Ip{>y(SBY@CL(R3uPNlRnIp}UXx)cAfrNt+eKjLDG9^;ykpdY5@`wy zYRRp8CNEgB56NpSo|B9;#Bp0g0xJrhYj}ZG4Qp6ekkPP#O$A#Tve?#;!wN%xP{dVw z8eU2lG~^|&AQipcXm98lL;N!G`~4$s3WkvzJ9as!j+E@%aJy8rM5mr5P)W(sNV^mugW;Av!=yWO`HI-iY!ls~JE1ml>jJ8s1xZJV zdW?ce8WZ#-i4I^Bqu3_T7TL0xq6J)}OZSi3Z-l%rIw(A(o*0D{vOWZHxA!@qgaxilcS^eX72s&eeZpDdGqi8 zz4;b^2k|chr(x^3+<_$n5nR#X7-$#KRRcP%b>bBA@>Gz)mBG_dG_V!db@(!uWC(PW z4a9Ln43>4QbYRs$k2t((pbwvtmnX&brwt-LqvI(ZpEa;gG<)&14A008KBwdJ9eCEj z7w|=Se@=!k>G*O7o;NUr7i57Kb$mr$zG`3$w{(2XKmuPE%{O#>Q#9W)a17rT$#**O zU3{+t-#73B{7}b_3_OA#>-dR|pK91P?Pk4#<1SsWt(@&^FsEJD_LF(5RI*DN;%VE> zO_qbeb5l+!u&L9~;na;Z>`Yy?Zdfac(lUJ{9-FsUf(hTYP7&mlgC&nr4SkzIXB<19 zBWer5YTXc%aJ zB2k`pTqk%`L)*~sf`(|)%h?*bQjTlSlna+^f8M&3rzD>8vQ~b<@*R1v3!}jmhb-(% zCC^UG%}-r;V*Gd_?G%c6J9)(ll6l8=g9$DYS@JZrU-qp6J?&^c?irC1(^;?_cg}L{ z{3eK!3gmh^>wEdU9JasJOQ;YaaYku9DtA~}4?!3#g3OTG`71KZ`6N<_yu~<$GGe+) zcJO#{#txP}|C)-GSqg|Rgyd`39a@p{X}4Go(oIU5N9>h5>q}IoXQx)Ob}?`~m&&c_ zz{*}bZxt1nOg!#8?UntkeZ~>Odp8kzM0RN6F`VOeTk=YADA}mEAIy^c!K`9m;4f{2 z*IDjq@o^_N#o}isK7a`mKgY`^ej&pz@iMcy#h^jCn7pE4pjq9}COx+lSZ+`<@hiM) z;@5bUr)$Qlx=<-Eo(P#lQp5HZNEkOJs8pPW#Jw`^;O43n$GH`spG=&^H1l2I?v`jK{){&TTC3B#xl4%lFD5>SsXDD2 znuLkJ;w=IF&BPgeNXOeI-of9Q!L#Rdyldhgl0+&X8xq;XKZVFW_hPMu=h;hF?JOzj z8EPsx)(xxclr*6Bq3LOv?_=pn6I%4GBBMTZQG_uHMUW0w^Y$Vs4slaCCkVUL&bn6# zLDDM}J(t8Qzq@FN1%3t*njx{3EpRFQS(R>Vd&Ij-BMU55wrkICk+e(4&Yh5 z2QT0tZs8DK!u`AkhuQ8&P{SzR=EtRw`DjR3olJvm{Q}Y?HICOXkH<;>6n!mVk#TbH z5&klW(%T>|;-jQHB6kt-61#WRJ1|4GhBEQt?(NT2F|vly8pecGp7(GSM^aQLGNV-- zUBft^kJWV#RPo>%j=zqF;wLJ2_!V@dXmRqk3ilK*l1I1)Nrpq{&3MYs<&a8TfxQEsG25B=ui;t5XjhZN)z$cZ*nfjS6`szgFzc{PoQj`bEQV>Co T)POWZNbD)PXU%bbKeYb?FDgOE literal 0 HcmV?d00001 diff --git a/out/production/HeadFirstJavaExamples/CHAPTER_15/VerySimpleChatServer$ClientHanlder.class b/out/production/HeadFirstJavaExamples/CHAPTER_15/VerySimpleChatServer$ClientHanlder.class new file mode 100644 index 0000000000000000000000000000000000000000..55ea2a0dd8bd1f57605706f4435544e85c51ecc7 GIT binary patch literal 1752 zcmah~-%}e^6#i}!xXHSO5PpjHCQqDKKfL|I}_y z&I;Tpy4VqKehal@?I!U2j90H+kYUikiIbbwOUi#0`i}CpteqMyse)UvYTK4)>+g;+ZZ|^`0#{GztvQXBU-HSje#$VSUJ8tc zAvMd{%dNbusD^L54nfB>LxD^Anynmv)pBYYd-gN0SqTz` zon-!!Z&jYJTa5sGFruPFiNh6$dM$@*TDL&fRkLaB1)PJC1%OG&cJ`Jewgill+wv;v zk*ynZ<-Aec)*DT{g||&y!@P+%ah0Jb3V5wW#9`tqZ0qQ+1;$PSd!?ei-CCsds<@dQ7au=JiC6BSe?iY64Q0@(`$ z*V}P{WVhDiooA{-MW?!^V#{$tEnUALFZCB}>z;$2+#wHvfj#A)=_I+Pr_NI$r7)g8 z*P+Kf+;w&2s;z?!j+-i`VzxZ1!a2uvyY#UT7&)nPRvEnz_nW?|Q&DbbDvV<>*FtFr3ZTp>oF5nH)F9efOjZp$>XeQ^NuL8Z|w7UTP9Fo2>=U@NW4OPBiqIszc51rQ<&kE8f9f&r=RNptx2v!td^pG7;_lG zJM`Q|A8jVy#UyuRS@$O13y{v^7BY+=jsT?y-lmB=!u%ko$T44{5?P7c5;+Ko*%%Sb zaYxAHXJ*o@7l}L3hFLEBg02ew#h=W8#fyYzJ2yD z_zU=4$0no9IDT`+-{41oMn`<^Zc;*JhGDq5_ndRjInQ&>x%=0@zx@ti3O}g0garln zR0Oafmqi6jDjKoS!o#NuK2y<*gj|*tBvq_nRYeG&OPe(XDFy2)+VF*nFgE0}*@FAn zYQ_T<5AjIBmnwSkSeicx;VbBJ*_JLI$tA5|N1!#HGY!jK)UDi(;Rt9;mSs5coL(#% zMS;$=r(P+!g_4_c9YfDk+MU?d_w{JWHFME9$I%ZHX3>oaG|ifp>E0G-h>UIs1mpIO zArMZOmXR#ww+&}q-_B9ek+9QxZbNrWd9DhBZq}slp+tOfZgqWr?a8(2=!W4Orp$aH zXT-C*n=+hz!(p6YUN0=cok&8JjSDTq!%fXSf3G zz8}kQqrOOjdFGg|q@;@0w4XKm z+sfG-)waaH~p}^Fzi#=(V(~t*yqwN&3Ul)Oi3(^}tGYZm~ zEti6ZuQ9B^(NF|S-j=c5L47c7b5PQ8mz&IAgf=!z<8N zyGah~HN4(m?WET=GIE2y!`I?WulWhbMjr@FM=qS&|D`Lv_SX0ATFJ8Hd*F?5W6{+e z$@Xa-Q-?*@$TJnYM8#`U>Ay_`;n$$nAih{YDag^yu`$Bl&YP`uM^Ce_duoiF9ROa+ z>cymSz+imOh%#t-hpw8vSLiAW0*y~|rDB$S9N@za2>!FDxdyrCd~kh_rzn4=u5qja z@tm6g-sjrn2^EZRulWXuV3em8jNu9;^71WO%gdo-1hy(@C?k04LViQQh$^Fni!U%k>_v@%wh2H$K27zm78h+stx+`zZARN+PtmPJegNN~xg)A7aksedM&KoS6wI6;2BG-NEX_Wmd!N%6bRMMXRf)2U{^jvs@ut8}7~*C? z;17h76GZhE8F>5XBuXPm!Qzk4Suk1QZvKkV;E$L!;BWi9S_tL zi63B1eJGJ?+6^*(HEp@OgOBOGnUXoe4Y2MY=!TbQRuF%zU{;~<6AA;EX9%$792K4} GL;MH0PW2rC literal 0 HcmV?d00001 diff --git a/out/production/HeadFirstJavaExamples/CHAPTER_16/Jukebox.class b/out/production/HeadFirstJavaExamples/CHAPTER_16/Jukebox.class new file mode 100644 index 0000000000000000000000000000000000000000..c5b1d1f7da008fa4acccbfff9a6828d4f26ed686 GIT binary patch literal 1865 zcma)6-&Y%D5WPzlHZ04pP$;EXp%n`ukb)F{fG8lfwjo7=)PRahvZMc3fz2r)%WdlF)wN8Ou4y&9h7`W!(=O; z<;42q)vcY4?Sr|+c#3#SD-7#cb_;H>q9HUnwW~p2_p$`&O}GUoSvoy*{2lu+PfH}> zW$gT}?Yr{cFzUezx2WMpGxC$tiF4?c3Eh_S$UNr+l8kQpkt;|&b#ks3f5dm8;5&BK z@ih!z-mI05jvU{~ZmS#m=y?(n7OMEXUC6~#f$y>i=5flGvZ$Mla>h9eT(7{(?o?oB zPB!f`MVTE@o!F=98Voy|6>f}fDAo)ta&$@B9dFC_i_G2;cqdMQl??2+;t?)5WmT(& z{$@p#)*8%|SMoEC6s^H($TTbUSa=g-L~YSn3%4<9;XcL;d}ZNld}H9i!nd#u99qaA zODq-F&{IR7w<}&20LaIOWOZTGQ)^m!#=~ijG>abuXVMAC8jDZ_)FaZlHO) z)bdGCf5Un))?&Nxq^&W?VhxjCR`!dFGdb02ka`tGHMl#zouOlU@htB$_x)CL+Hx45 zw($ISuK!~Z&LM8fe+agRael@|_+8Za5EpOMQdnF zR}uOV`YYvqm#2L54Q=&7Q2 zQ%lAw=u0PmLsxXBg8r9({qYjv#B>D%uN21_JYb#>q{2Hecn-0~o78NWYTaUOBbedS zL+U0~FEFRcr%6mPegp%EVw&}il5vclAU(&fv~RPR53r<~zs$sK`0#JK8lV6G literal 0 HcmV?d00001 diff --git a/out/production/HeadFirstJavaExamples/CHAPTER_16/Song.class b/out/production/HeadFirstJavaExamples/CHAPTER_16/Song.class new file mode 100644 index 0000000000000000000000000000000000000000..c4806e2a3af81325d82de508f572a3234fc2e4c4 GIT binary patch literal 1334 zcmbVKTTc@~7(KJyUUpf8BA`W4#0%{fs0gA4Laan1k*J{!uVz~}bxGSL%i^;?$Olbq zO?)su`=g9!W>;I=eez+xIrGhTIp5{yuW#Q0Y~hg!6SjdI%2KRKu_nd3Nl`Iz7aLjJ zlaI|Twz9Y{kPf}D?F!5so;dHFO55qSDzz~1x~(07j1z?3Sx68#AyopY#%YJoU9anf zdjcQFo%XR4c=8=9_3)i{CXheee_nlE ze|q$0W4luG6>mYx!r=*c8UneN8`h&bXN#qAf&vCDs&TOrAI0@%h@Z%kbDYD=7gGGoa zvC4sJz=_LHlv5kB|I?v=N{_dxbbuu;o(X{o=-gNGqlBcWZn9K2iSo|zHKH!Vm1}t(mri}f%b_YN}N&3yh>t425}OBYl+UOQRlft z=j(~i`lxdu(RnG+IX&vUnCN^X(Rr-q%6(+|$bKB@+lq=Y vAKCpKj)hwslbEh@H*d$$Hsff9UH*YwAI4~?)DRsb4yECaO1Ofex=X(SOI_8b literal 0 HcmV?d00001 diff --git "a/out/production/HeadFirstJavaExamples/DailyAdviceClient_\320\24115.class" "b/out/production/HeadFirstJavaExamples/DailyAdviceClient_\320\24115.class" deleted file mode 100644 index ecf56b00c622f83c94e82c5977078b7a51aa5830..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1364 zcmZux+fv$46kP|AKn#lD1!`-ly?H~#YOR;rdTp^NR;V*Pbz(TuC?pI7r~XF&pih0a z4=___`T>3FSM(S9*6BVGCAPq1pPaMTzN~%L@LPD%F zGCJ`@!mJE0=7f3b!#tizSdgJ0=Eb5|mxNiC@f<4x^FqQ)86m7nSd*~M;91rU-CAMj z7#%xcaIc$r&d`(64Zd3|9r8+6JuK2mFlB0L@j$KUV&6P;TOaf)LpZge>cz9w{Hd<- z^`g!V>;2EqiMb^PSHWapgy~HktEXz*;8r|iYA4(xr&6^lTrKT$HP0&yLzfWUj33|p3bLZ_&{a9dL=?Oeu7UQf83L`k>BD2LS%e+^f96RcsqO-|92ZJW zkB+r&p>@-A3*lytn-f|RSwbyW^SZ^USBOGrm7(t{t796J($Q(=tZMNRDc!75zbz%~ zkv^JgqX3UuE^{N#5NkuI*|?)bbKn%{waiPYIY#P8%^;OUp`t;x+odKtom$bX5|M3`)Zc5zx6t)1fyuyfmei>${!^k9hIl}i9_;|}c@hOdKv z!A+kKAbkN>F4)l<_|$+qb%D;@L>-<6q@4?RbCV7Dc4KwOi|()Jx`2{vz#r_cqbK4f zQ%9hVUh)UOz?-7LzH__a76~;BqfZy$u&U- HE=>LfV46c$ diff --git a/out/production/HeadFirstJavaExamples/DailyAdviceServer_C15.class b/out/production/HeadFirstJavaExamples/DailyAdviceServer_C15.class deleted file mode 100644 index 05d0c8dcd3e985192890b047e0d14fe472bb3bb7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1499 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 LjT}eGJcO}-jfwP4 diff --git a/out/production/HeadFirstJavaExamples/SimpleChatClientA_C15$IncomingReader.class b/out/production/HeadFirstJavaExamples/SimpleChatClientA_C15$IncomingReader.class deleted file mode 100644 index 4519b3ec71f7cad9ead3a9f810121c9f4f0c29a8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1362 zcmZ`(>r)a@6#rdB7PeK91kGMlWQY&6w3n}xe1nRRGk$7Txau10GRso*7x~%7a3*K^ z)bydhsmadWMbV^TI6LQ_-#O=Z9{2wG^X)r;F>LwJi2)e_4EivHVHt6Z_%Mp65}wKM zV9<*(@f{c9xr`ThDS)rMcr9ZBlM<$6bYNP-jD$B5W*I!zzE+NmFmxv~TCr5%iG9^d z6f~||v+on5;}Zm#)O5|7X6TLn2h+dB;7%BM&d`z6biP(8?r<}!?iA=GkTh~?VM{eN zq1O-HA}vGvvYs=Fn!dNm)jT&Dlx1D#W}={$%be_e%@anhx)H|~v!auX3MNvKm&@v& zo%%risKyJbz8B9}CgmZhi&q(f$%bXVn&Tx)GjuYxWh^!KA*GgVo)YHlR!uR;8KYw6 z_<|-%>TTMpVG&Y67lH~x2unyPc#C-n3knvoBw<;>3RbDrjoc2axr$b>%WpNQ4`BsK zq!g?PpLGQrNGsSxhJncvvcj5XxY-DDQGkMX2s1>Q()*`r4E{!h^_>HrvuIY0qs@x0 zI|ICgbLdk0nr5I?5&Xp*dz}7iMtrWayUR_UcP30N4%s=bSs1*+S*#C3SG51qfG$RN znaSs}#fvm@qe8svjV#nx3aFHHDH_0B-rb&0vSB?#Q1&f`)b!201k@OG-SU@kykb}Z)+#`+fb~IWp z+()<`>jzrs2c%=iV8>{w!M&aQiODZ$J%wlc1X93TgKvQTHOMvGaBxc9D9!_I=f?KK zv(rO(Q-d}5k8C1KSfyvE1%g@#tt5q>L=-73VVyR9!=@T0jDi^|{vr7#;l?9GZ2IXs o{m10nP3OO{D539+Y)rxvA);+foxj5IqwD8`cG4xQg6G3;|g{5EK$Fkyu(msS1UU*0LGG;IbQcCy+n##TTkD zR{7uu_)(TUo5-bzzVxKK&vc(YJ)2*@fBXcngxBrpz+)Yqm}v zGQ%*K{0CX`M@xpV3(6 zRtVWqztRL5}b8^kM`@AZ1f;&Y*^(hi}GYndZO9f=;NlxF`SwT{l65Xtebh|BG zD=QL?OS~HIA(XLkOAXX|jd2Z zi^tU>>7$I0pFlU+9`Z8eN9fd3GvB~c-x0Y8F}-Bl2m`F5k8EEZg?ow@|OL`(gM*3eo*TO(G3_64!s*&5m#>4aXxy(_435jGtm>M<&&XiU&A zV4diuF@jCXWGJ?QDSCH{*rrT2q&Pqyozflj=QIHJ2P)$pN&o-= diff --git a/out/production/HeadFirstJavaExamples/SimpleChatClientA_C15.class b/out/production/HeadFirstJavaExamples/SimpleChatClientA_C15.class deleted file mode 100644 index 5a0dcad4f524618f37f36b822f262075f80bf0d6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3137 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 MK~9)|DQSrR0o?4I&j0`b diff --git a/out/production/HeadFirstJavaExamples/VerySimpleChatServer_C15.class b/out/production/HeadFirstJavaExamples/VerySimpleChatServer_C15.class deleted file mode 100644 index 5f0e24b7a6465902d20cd96bc4eab095a8f7753f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2122 zcmZ`)?NZxT5Iyn-0$G&ruh67POM@YRlQg6O6I$XzLTgNlDTE|VDs06T*pe&B1p4*6 zuh1vpcRG!k)-#>{>r9`aKl>P&(sLynn>38at9y6%?(W$=SNiMU-+l*h13xIZfF&7s z6$G#(#620y3c^@wOpgE52 zNa)FU=GC%WD!Xad*0mzFeaRhdPm7gZqYzuLZS5dwIBr}*%bZ~v?!1IxbZkRHC}CxF z2^~qp)Klf+wr;O$+XZU6lU7D6Y-qM2_BCb5%^Qq;F1exG2Wg{ND(H#4=B9OfPq&{Y zu1zyRsHhpHg#PFwzk-5h=3*?%FmrJ)qh{ws)o(CM2;?l{^8ux;%&zWA=yLNa78a_FbykqpBdauPfZ7j2fLdJSkJRBSsGNwE4ChdpecBhfsO%v|0KMJVR1jB zmt4a#X>3osT4r}eD|w9}4@eRY(+h8A7uk&i%VZb(qD?h4H9;=wj-%zgK6`U&?vjL7 z0Zwx*0_^nzcynB?Y2z|@Qb}87JEJcdVqE9Xn#hz0ui`z7NEkfJNyU_~_q>5JDlXw& z0`W}V44T>`;yzQ6L%x3a^dMvyDt53d{0b_HATc@{c>SSBxO`S!Bd3@zqF6$dRD6vQ z8MX=s9CT;SaxZEZGZybfModUXS;Zd6av##^`Kfr05fuyAXCGA@;2Ra+;yV@JizYPH zx4ONHq2!;Rc$ix>hz#aqqnw8+KgH7Hw`!E`8v* zdXY6)Wg1?)g#J5-)%(q_Q^HqEkW1pG7D$B-Z{=O3bz94j#{KnHoaQ?ZpQuL9-!+{O45w($57q!(NSaGA2j zS7MZFwYH98jJr0B;|ew6@C?1h;YbyMts?|02sJ{8Zv}7>3iCF?L@N%a08jhJR zOx=U=D#DD@@)B|tty^6^KOUhid8GnnrHaVbLqzAk8sydSi=N0N?2D}+Z|SR zmwj2~ZVlJ4iR)hd^Q>~1U&I*o0cxVOU1z*IXvYWChZt!N)40iOY3@G6Ev|@)o}zIx z{P!X73jH!>j}eC?`(lo6w=qvCdis*VLwsHpC@UCRnfMjwB>aR+TntP21Ci7uQN7I$ zoIgDNC&lOB;ql)BWEUZgo`AdnnQ^B1VZKSrEfzn+am>;uP7t>}P&e54Vb0Wt60MaT x6!~jqi`7T?n9*CQSs>hi2c;dsS7?=ycp_s?rt%XW3Sf~bz?t)^aQ6 songList = new ArrayList(); +public class Jukebox { + ArrayList songList = new ArrayList(); public void go() { getSongs(); @@ -30,6 +30,7 @@ void getSongs() { void addSong(String lineToParse) { String[] tokens = lineToParse.split("/"); - songList.add(tokens[0]); + Song nextSong = new Song(tokens[0], tokens[1], tokens[2], tokens[3]); + songList.add(nextSong); } } diff --git a/src/Main.java b/src/Main.java index 53a3656..dba452b 100644 --- a/src/Main.java +++ b/src/Main.java @@ -1,5 +1,3 @@ -import CHAPTER_14.*; -import CHAPTER_15.*; import CHAPTER_16.*; public class Main { @@ -19,6 +17,6 @@ public static void main(String[] args) { // new SimpleChatClientA().go(); // CHAPTER 16 - new Jukebox1().go(); + new Jukebox().go(); } } From dd1525619b9928138715addd6bd2a7b2a0b95d53 Mon Sep 17 00:00:00 2001 From: Karen Date: Sat, 12 Jan 2019 18:30:14 +0100 Subject: [PATCH 09/15] add class Song --- src/CHAPTER_16/Song.java | 41 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 src/CHAPTER_16/Song.java diff --git a/src/CHAPTER_16/Song.java b/src/CHAPTER_16/Song.java new file mode 100644 index 0000000..a4b7ed9 --- /dev/null +++ b/src/CHAPTER_16/Song.java @@ -0,0 +1,41 @@ +package CHAPTER_16; + +class Song implements Comparable { + String title; + String artist; + String rating; + String bpm; + + Song (String t, String a, String r, String b) { + title = t; + artist = a; + rating = r; + bpm = b; + } + + public String getTitle() { + return title; + } + + public String getArtist() { + return artist; + } + + public String getRating() { + return rating; + } + + public String getBpm() { + return bpm; + } + + @Override + public String toString() { + return title; + } + + @Override + public int compareTo(Song s) { + return title.compareTo(s.getTitle()); + } +} From bdff52223383a927b828a63809d1016de0c15347 Mon Sep 17 00:00:00 2001 From: Karen Date: Sat, 12 Jan 2019 18:59:46 +0100 Subject: [PATCH 10/15] add ArtistCompare comparator to jukebox --- .idea/workspace.xml | 53 +++++++++++++++++++------------------ src/CHAPTER_16/Jukebox.java | 10 +++++++ 2 files changed, 37 insertions(+), 26 deletions(-) diff --git a/.idea/workspace.xml b/.idea/workspace.xml index cdd992a..3514cf0 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -2,10 +2,7 @@ - - - - + - + - - + + @@ -103,14 +100,16 @@ - + - - + + - + + + @@ -151,8 +150,8 @@ @@ -377,7 +376,7 @@ - + @@ -512,17 +511,6 @@ - - - - - - - - - - - @@ -546,11 +534,24 @@ - - + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/CHAPTER_16/Jukebox.java b/src/CHAPTER_16/Jukebox.java index 3e69e40..ef5ccce 100644 --- a/src/CHAPTER_16/Jukebox.java +++ b/src/CHAPTER_16/Jukebox.java @@ -5,16 +5,26 @@ import java.io.FileReader; import java.util.ArrayList; import java.util.Collections; +import java.util.Comparator; public class Jukebox { ArrayList songList = new ArrayList(); + class ArtistCompare implements Comparator { + public int compare(Song one, Song two) { + return one.getArtist().compareTo(two.getArtist()); + } + } + public void go() { getSongs(); System.out.println(songList); Collections.sort(songList); System.out.println(songList); + + ArtistCompare artistCompare = new ArtistCompare(); + Collections.sort(songList, artistCompare); } void getSongs() { From 255eaedbab74bbe5051ced76c4e54493ac7b52de Mon Sep 17 00:00:00 2001 From: Karen Date: Sat, 12 Jan 2019 19:30:24 +0100 Subject: [PATCH 11/15] redefinition hashCode and equals for class Song --- SongList_C16.txt | 5 ++++- .../CHAPTER_16/Jukebox$ArtistCompare.class | Bin 0 -> 993 bytes .../CHAPTER_16/Jukebox.class | Bin 1865 -> 2187 bytes .../CHAPTER_16/Song.class | Bin 1334 -> 1594 bytes src/CHAPTER_16/Jukebox.java | 7 ++++--- src/CHAPTER_16/Song.java | 9 +++++++++ 6 files changed, 17 insertions(+), 4 deletions(-) create mode 100644 out/production/HeadFirstJavaExamples/CHAPTER_16/Jukebox$ArtistCompare.class diff --git a/SongList_C16.txt b/SongList_C16.txt index 480a1a2..968fd10 100644 --- a/SongList_C16.txt +++ b/SongList_C16.txt @@ -4,4 +4,7 @@ Shiva Moon/Prem Joshua/6/120 Circles/BT/5/110 Deep Channel/Afro Celts/4/120 Passenger/Headmix/4/100 -Listen/Tahiti 80/5/90 \ No newline at end of file +Listen/Tahiti 80/5/90 +Listen/Tahiti 80/5/90 +Listen/Tahiti 80/5/90 +Circles/BT/5/110 diff --git a/out/production/HeadFirstJavaExamples/CHAPTER_16/Jukebox$ArtistCompare.class b/out/production/HeadFirstJavaExamples/CHAPTER_16/Jukebox$ArtistCompare.class new file mode 100644 index 0000000000000000000000000000000000000000..33104918d1721b30371e112079fa074ec209960b GIT binary patch literal 993 zcmZuvU2hUW6g>l!E$d(b`{B3PQp=acCPp7392PW20G_i(ZnsI`_P&pAudM2myVW9M#>-RG9*k~laQ!N z)KE9@SmF>3N*x=O?oDC~+XgtrV$2g!&C4c`TkMdt4@?WyQj@YCZ)RkxPh2>&V>vf)5Nbm#9YV8L^ z^(PYFc}rk}|1>e+DaZeIh(aElyb&L;2_h&~#C1wcz+RgnS?8J|^^Mp#TRvbbMpay~ zN$lWekWJziPl;TcytgCX=R|AXY_;|WYjv&}(u>4lnKB^BMr9^(CrE!6_k#UCZg4k= JG4Kcl;6LeE(%Aq2 literal 0 HcmV?d00001 diff --git a/out/production/HeadFirstJavaExamples/CHAPTER_16/Jukebox.class b/out/production/HeadFirstJavaExamples/CHAPTER_16/Jukebox.class index c5b1d1f7da008fa4acccbfff9a6828d4f26ed686..687317fca5d940ac4604ed933084cebd49882980 100644 GIT binary patch delta 1118 zcmZXSTXR!Y6vuxjNxRd-=`EG?YN403B}qw%rGiBzL^MEJkw$7z#MAaj10ktNimkVN z0DO=+;|pJaXV6I;gFZRV$O9k7C!dOIpLRwZ9`@dA)?Sz2f9?HO*S+5Q)4gAR2j=}K|Ehnc9 zgQ=Io@Bh~C&Kp0NIgfi&7~N;a_x=b|?seb5=`qGFPB5h?Slr^aqG)l4lA>&}#TN#> zF9BFosJcJ;CZ)<*_la*V6rpAjVcX&^Us}8^?mgc?Y=x2k5? ztk(+V(&Dje?oivW(J;w>k z9u{-8}N z!$J!yAL?wS!{>iLB$yS>@FTC>tbiOo z;2lLtxiOj5xIj(_;H1nkA~4gO6h#_!UYeS6m*h3cAEHk@Ck1~*5En#{UjPG~;~9gh5NWi8`b`^B4PiTr7kIfG$e48bEGAGSmeCJ Wc>(wFu2=9qj>>6D)Tqch0{;T5=(^JY delta 815 zcmYk3OHWf#6otRr7EXJ(lv3nTK-%)~(H0673O*4KMTLqy#Dai|Q}_{MX(0AAnxAG>x253~F4Q z@e$&zmNMjHm=Vo6Mm6WTpcwOVQRCy1;<92~Q^|zJBx9E=HfK_CRTE^&%d}>OS;aL? z9dowybwyS&Z{U5jwYmEG%{%Lp@k)<5VhcjF7F{phVItOdS3{(UW|PB26gNz6a!avj za+{puj>!^ttwDFYG^ec)bb}8W|g!oEe>3>`5o5#g?tJVe)`Y>zg}f4S04ef7!3LkgNy{`NWu< z2L-uk!6R5KOO0Ax<iks?BpFQopj3}w_~FP<(SdbOZ)~29+C)+bPDQ|71-f= zWvCW(grmZ5q=p!AiP0>U6VmCXM@)5*bkx)Pw!0l&&o0f19z{xV>}Q_9u%g#aAP=~o z>6uutZ#v?^0|ja)O4MZ&?o`5)N|dD%<*6d|nb=!A5~gA9-vWaUDI(;kJXottZFAhl i_Qd`!uY-Q^Xh>fRp#hGI@g|9Lf|Fw0;FL^uarzI@T42YNJ26f53gUpo?gEGy65+wA3p(Xpb*7c9181kKJIDMHbuK1hmHsGd?@0P zh@5=b66eQJY)A1#A#9s=y{a&_e{6g-vUQ_T%NA|RY}9fJ5yP_0Gn2~ot!`$EO$R~P5al8~ua1IZQ0&M!J94W9lc_yo+cF!by{+(~7n|2o z58D5*qz+k&EGUD=;wiIkt!kHC>L!w@!Mq9@J@OuZq91q^MyT%!i!rRYU+m-lLgcP%qOR z1QvNZ2!5t9fGH;+;K(qBaE02O8-S~r=8K_7;2P6~3E?_z0qSJKE3n2}(JPkzhENCL zZr+GvA9ivIc>0{@oON0ffS;Hz%sY|(jz~JwMku}5Ml`+DX3FVM8`@WXb&)0zp*}_u z#-Xvr%WQF+JxsHPAm4B^omWZVCMl813CvTIJ`=b_O(;p=HnkAHbJ~=GCd*s=!_v(c zDsEx7l|)Y~VXuh7UEknnfAEZNaMCw8)*n3Y8=UeD*7}1Ne1p@z!2>;Ke1o~}9$`CV zNNClCu#B@>@%|N9adJ$#e&@q+mr0G}`SUD!+19;mT3Xh%gQ5OZ!5%o8mnwi|XHZ$J HIQQyb=!*Gm literal 1334 zcmbVKTTc@~7(KJyUUpf8BA`W4#0%{fs0gA4Laan1k*J{!uVz~}bxGSL%i^;?$Olbq zO?)su`=g9!W>;I=eez+xIrGhTIp5{yuW#Q0Y~hg!6SjdI%2KRKu_nd3Nl`Iz7aLjJ zlaI|Twz9Y{kPf}D?F!5so;dHFO55qSDzz~1x~(07j1z?3Sx68#AyopY#%YJoU9anf zdjcQFo%XR4c=8=9_3)i{CXheee_nlE ze|q$0W4luG6>mYx!r=*c8UneN8`h&bXN#qAf&vCDs&TOrAI0@%h@Z%kbDYD=7gGGoa zvC4sJz=_LHlv5kB|I?v=N{_dxbbuu;o(X{o=-gNGqlBcWZn9K2iSo|zHKH!Vm1}t(mri}f%b_YN}N&3yh>t425}OBYl+UOQRlft z=j(~i`lxdu(RnG+IX&vUnCN^X(Rr-q%6(+|$bKB@+lq=Y vAKCpKj)hwslbEh@H*d$$Hsff9UH*YwAI4~?)DRsb4yECaO1Ofex=X(SOI_8b diff --git a/src/CHAPTER_16/Jukebox.java b/src/CHAPTER_16/Jukebox.java index ef5ccce..f389033 100644 --- a/src/CHAPTER_16/Jukebox.java +++ b/src/CHAPTER_16/Jukebox.java @@ -6,6 +6,7 @@ import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; +import java.util.HashSet; public class Jukebox { @@ -22,9 +23,9 @@ public void go() { System.out.println(songList); Collections.sort(songList); System.out.println(songList); - - ArtistCompare artistCompare = new ArtistCompare(); - Collections.sort(songList, artistCompare); + HashSet songSet = new HashSet(); + songSet.addAll(songList); + System.out.println(songSet); } void getSongs() { diff --git a/src/CHAPTER_16/Song.java b/src/CHAPTER_16/Song.java index a4b7ed9..63590cd 100644 --- a/src/CHAPTER_16/Song.java +++ b/src/CHAPTER_16/Song.java @@ -6,6 +6,15 @@ class Song implements Comparable { String rating; String bpm; + public boolean equals(Object aSong){ + Song s = (Song) aSong; + return getTitle().equals(s.getTitle()); + } + + public int hashCode() { + return title.hashCode(); + } + Song (String t, String a, String r, String b) { title = t; artist = a; From 3adde9b5b765dd8e4f1a5668b0f08748811671ec Mon Sep 17 00:00:00 2001 From: Karen Date: Sun, 13 Jan 2019 13:15:11 +0100 Subject: [PATCH 12/15] add TestMap class testing HashMap structure --- .../CHAPTER_16/TestMap.class | Bin 0 -> 956 bytes out/production/HeadFirstJavaExamples/Main.class | Bin 413 -> 413 bytes src/CHAPTER_16/TestMap.java | 16 ++++++++++++++++ src/Main.java | 3 ++- 4 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 out/production/HeadFirstJavaExamples/CHAPTER_16/TestMap.class create mode 100644 src/CHAPTER_16/TestMap.java diff --git a/out/production/HeadFirstJavaExamples/CHAPTER_16/TestMap.class b/out/production/HeadFirstJavaExamples/CHAPTER_16/TestMap.class new file mode 100644 index 0000000000000000000000000000000000000000..04ca2c753367fe2d2d47e22f3069f46c1ed6bf89 GIT binary patch literal 956 zcmZuvYflqF6g|_|Y?np)!1_WIAJ~VoqJo4H5+E3eRfugMelpWKwu{@{X1gWnzwv{A zKtB|ti9f&}WxUf}Nt<>*%-nnK%sJ=Yoj-qn{s!;@8#-pOz;Rng1PdA#b=<*Sl`Ltv zr{R7Q5AaaOG9D=~&r#qgG9iD|mLuQx+I8vGMBOGNQ*j%@ zJ`tX!@(_&qEvw5gU)ej@Ij-%$`>?uh)@0XzBRXY2W+Yu!?6K&kdUSnt^q^q}fci z&yX5Q49y1Cp&+1D`nj$~;7U2PdYzzoGoISQq`2u>@9h9v3fWPFBR$1K*! i^bRR2N4Y>1fg=r@gj^$M*Quu52FMMH7;X|4!L5IAx!2hM literal 0 HcmV?d00001 diff --git a/out/production/HeadFirstJavaExamples/Main.class b/out/production/HeadFirstJavaExamples/Main.class index 1a71fa298bef9213e5cc3b106f7e2e34cdf30c44..d7524d16d5cceefca2c12b62db0dee13d17e2f55 100644 GIT binary patch delta 27 jcmbQsJePUG4fc@K;u7D)f{FL%vWhZrF^ElWWRw8_jX((I delta 27 jcmbQsJePUG4R){6?9` scores = new HashMap(); + + scores.put("Kathy", 42); + scores.put("Bert", 343); + scores.put("Skyler", 420); + + System.out.println(scores); + System.out.println(scores.get("Bert")); + } +} diff --git a/src/Main.java b/src/Main.java index dba452b..9cfab66 100644 --- a/src/Main.java +++ b/src/Main.java @@ -17,6 +17,7 @@ public static void main(String[] args) { // new SimpleChatClientA().go(); // CHAPTER 16 - new Jukebox().go(); + //new Jukebox().go(); + new TestMap().go(); } } From bc8d6ae106c9d75c984d8b889a1ec3f57d51ca05 Mon Sep 17 00:00:00 2001 From: Karen Date: Sun, 13 Jan 2019 13:23:17 +0100 Subject: [PATCH 13/15] add TestGenerics class to test the polymorphism with arrays --- .../CHAPTER_16/TestGenerics$Animal.class | Bin 0 -> 690 bytes .../CHAPTER_16/TestGenerics$Cat.class | Bin 0 -> 554 bytes .../CHAPTER_16/TestGenerics$Dog.class | Bin 0 -> 554 bytes .../CHAPTER_16/TestGenerics.class | Bin 0 -> 1045 bytes .../HeadFirstJavaExamples/Main.class | Bin 413 -> 418 bytes src/CHAPTER_16/TestGenerics.java | 30 ++++++++++++++++++ src/Main.java | 3 +- 7 files changed, 32 insertions(+), 1 deletion(-) create mode 100644 out/production/HeadFirstJavaExamples/CHAPTER_16/TestGenerics$Animal.class create mode 100644 out/production/HeadFirstJavaExamples/CHAPTER_16/TestGenerics$Cat.class create mode 100644 out/production/HeadFirstJavaExamples/CHAPTER_16/TestGenerics$Dog.class create mode 100644 out/production/HeadFirstJavaExamples/CHAPTER_16/TestGenerics.class create mode 100644 src/CHAPTER_16/TestGenerics.java diff --git a/out/production/HeadFirstJavaExamples/CHAPTER_16/TestGenerics$Animal.class b/out/production/HeadFirstJavaExamples/CHAPTER_16/TestGenerics$Animal.class new file mode 100644 index 0000000000000000000000000000000000000000..32a1d1aa1f3bb909fd82feb70acaa9df12cba75b GIT binary patch literal 690 zcmZ`$TQ37a6#k}GSJ$F9_o66@L`j4P(xhqJk_OSnt4wRc$aYqCw-P^#1c?Vfz>gAV zcAMyfKFnn1o9}YYobR8{F95qJCJ@J@1rt*VOk-vUvleogGqGSI&kzsprC-=)n66b% zE0>Lhf>L)%#bVgWvyQ`7*+RHFpSlt66c+EQ+N&DbO=e; z+!lAPxhM6#3mQ6_%qvQ^xx-+eDN3w5-1i0H`F>G_NI-QB2p-U0)Y(?u?RYJ5EOlP0 zw}Gt({={tzAz{Np*2JQXB`h-xM@D&a@l6zLtYFo|8pC{_ujnQ-B(-J9;p(n*(R>gs zs-g#~Kl_1bQ(!}SS-Pc5PpY6Ec!Ia7_{={rgZZdQjv`$#5{4<2FrN}tk|g9SR-VUM;$l!2(_Mj*}dtX-QMpX z?)FujT&O@r+KZ1^bgToNoDdqVRMqx?Al&dl5sEz>sO#})sG`0c`pi^%p(p);jI^m| zq%hHhj4Km@a}{u$>&rM+Om3v*G+E6r5+fD9@ZFY)&EJLN$W!OqM3w)(edkF&O9ykv zI`KNIvY^HU)fgVYpXYmWFDN1bdkOj}1N+pxb$l}HEAmkXGa&4GGyYmKW zciv&WPDFX$vn&GYDDb{ImBB%gE50zXGyM|EGqVm?hN1r!jfsUbZO$w#R9I?Z35$GI O7-cwQfwADTCh!A9Cu;!! literal 0 HcmV?d00001 diff --git a/out/production/HeadFirstJavaExamples/CHAPTER_16/TestGenerics$Dog.class b/out/production/HeadFirstJavaExamples/CHAPTER_16/TestGenerics$Dog.class new file mode 100644 index 0000000000000000000000000000000000000000..af67879f2a01674f905329a74c38acedc9e14cf8 GIT binary patch literal 554 zcmZ`#TT22#7(KIYZt9koE^1cv;Daf2f#{_u#I7I_CBDXJLrtx_u&e#A9wO+WAJC7A z&Zt2I`!F--JKvdeX1=fQk52%5sHBj0{pf(AL+$I~k-%y#R<+p`uv@{s63Di-udYUeo(em%=aDJ2gTC~-GSsG? zlD3H!NSp)@0`8^HxRxiQNReEN%c)Y$7uh`-KJ#wP#HMe9QP@{!+C=65zJ2RSzDO4{ zNV;$^>tIEo67x^vEU+HeZTfm3JWz0;uVYb~dy*ochz$4Ti3~2XtaxE;XZkthr)CXSh7tcQN@ELm(wtgYC{Su)0rNZy OL5!*b=Hhuspe`@Cd literal 0 HcmV?d00001 diff --git a/out/production/HeadFirstJavaExamples/CHAPTER_16/TestGenerics.class b/out/production/HeadFirstJavaExamples/CHAPTER_16/TestGenerics.class new file mode 100644 index 0000000000000000000000000000000000000000..477b8ba5950f1e4268e79b2f902fc64c1c75f48d GIT binary patch literal 1045 zcmah|O>YuW6g`g_7?=*0BDBTQmMS6zEU7VFSkt7z&t&imf*~%i1u~Uf(F!ouT*8 zVMn(;+!P3O`T~X=bt81;l^-@cR>Ts0r{5uT$sbA!#7%i}&ly({p3VE?C)CQIkOG;D zHAHKkZ0}X&+mTZP^8#kAe=uk}4_q~lnZIqW?aFu3!Zc!3?K6srJ%I&308J^5(tjZQ zo)#96ws2GRn)9I&h$%(ouIzQnPg}cAn`@BH`?=m!bI}~>VTCJXa?8NI;u0XnbB4Dv zpMuX|;VZ-!1_8u*hDJ#Zml<1Q01`;@CNO(e{E0Y?xtF2u2sE`LXid`SwWfZApbA5^ zX7DU)6Q%uwIxRRyRSU&K7=;p#b2+p83#bt}Hnd^jIl^erk&>4gOPI*ZVI6arr%W4D zNZ|?%aqLL*RDR#{9#U1sYUy}O+t8Ex;zuM(N&VKHU@CZs@CRLd{{2(+)<&a3<=dy}1a50EaZe)}J088Bt A7XSbN delta 63 zcmZ3)JePUG8DSx3566HI*PwVqGyRa%;u7D)f{9P&DvC02F^Dm6GcYjlFfam1ZUzAc OK_Jb@AOs|t7=!@_rVCX7 diff --git a/src/CHAPTER_16/TestGenerics.java b/src/CHAPTER_16/TestGenerics.java new file mode 100644 index 0000000..39afe11 --- /dev/null +++ b/src/CHAPTER_16/TestGenerics.java @@ -0,0 +1,30 @@ +package CHAPTER_16; + +public class TestGenerics { + public void go() { + Animal[] animals = {new Dog(), new Cat(), new Dog()}; + Dog[] dogs = {new Dog(), new Dog(), new Dog()}; + takeAnimals(animals); + takeAnimals(dogs); + } + + public void takeAnimals(Animal[] animals) { + for(Animal a: animals) { + a.eat(); + } + } + + abstract class Animal { + void eat() { + System.out.println("Animal eats"); + } + } + + class Dog extends Animal { + void bark() {} + } + + class Cat extends Animal { + void meow() {} + } +} diff --git a/src/Main.java b/src/Main.java index 9cfab66..446f563 100644 --- a/src/Main.java +++ b/src/Main.java @@ -18,6 +18,7 @@ public static void main(String[] args) { // CHAPTER 16 //new Jukebox().go(); - new TestMap().go(); + //new TestMap().go(); + new TestGenerics().go(); } } From 701b7d280ca9fe670a810470bd61f4437d7fb003 Mon Sep 17 00:00:00 2001 From: Karen Date: Sun, 13 Jan 2019 13:52:13 +0100 Subject: [PATCH 14/15] same with generics --- .../CHAPTER_16/TestGenerics$Animal.class | Bin 690 -> 690 bytes .../CHAPTER_16/TestGenerics$Cat.class | Bin 554 -> 554 bytes .../CHAPTER_16/TestGenerics$Dog.class | Bin 554 -> 554 bytes .../CHAPTER_16/TestGenerics.class | Bin 1045 -> 1542 bytes src/CHAPTER_16/TestGenerics.java | 15 ++++++++++++--- 5 files changed, 12 insertions(+), 3 deletions(-) diff --git a/out/production/HeadFirstJavaExamples/CHAPTER_16/TestGenerics$Animal.class b/out/production/HeadFirstJavaExamples/CHAPTER_16/TestGenerics$Animal.class index 32a1d1aa1f3bb909fd82feb70acaa9df12cba75b..a34ab04aeb777fef4f477fa1b07c43f92d4098c4 100644 GIT binary patch delta 23 ecmdnQx`}mz855(_WOF7jRv88k2HDANOgaEYH3by_ delta 23 ecmdnQx`}mz855)6WOF7jR$&GX29e2aOgaEXFa-Jl diff --git a/out/production/HeadFirstJavaExamples/CHAPTER_16/TestGenerics$Cat.class b/out/production/HeadFirstJavaExamples/CHAPTER_16/TestGenerics$Cat.class index 30625d78927567a60d281f029efd114281831496..d332a3bfda4dd453b7d04226b4126a760e60fb37 100644 GIT binary patch delta 19 bcmZ3*vWjKHCPqe;$(tFS7*!{KV>AH(LN*3c delta 19 bcmZ3*vWjKHCPqf-$(tFS7-c4ZV>AH(L8b;k diff --git a/out/production/HeadFirstJavaExamples/CHAPTER_16/TestGenerics$Dog.class b/out/production/HeadFirstJavaExamples/CHAPTER_16/TestGenerics$Dog.class index af67879f2a01674f905329a74c38acedc9e14cf8..0ec485f9323dbd186123bbd16e5e9299f4966cb7 100644 GIT binary patch delta 19 bcmZ3*vWjKHCPqeu$(tFS7!@afV>AH(LG}hp delta 19 bcmZ3*vWjKHCPqf_$(tFS7$qiuV>AH(L1qRx diff --git a/out/production/HeadFirstJavaExamples/CHAPTER_16/TestGenerics.class b/out/production/HeadFirstJavaExamples/CHAPTER_16/TestGenerics.class index 477b8ba5950f1e4268e79b2f902fc64c1c75f48d..031f8c0b49a5b0fcea2b95f66871d06c7c227391 100644 GIT binary patch literal 1542 zcmb7E?M@R>5IwhDSZJ4TT8bzZL@g~)Q3SLV#quFZK_di%nwU%3l!elg?PBC1d;p)o z-~NFpiSf6O;2Zb~#;E6R3zVc4P1Bu^J9FmD%-#L^>(gfdV|e64D@Jt0eefuG!v_tc z%DAcHmJhlzS}>+OxBVE$gnCTsxZ^_;?&?VBND6pU(h)Eg@_Exv!!UT*K_o=rwbXGTa~t@?6OmHHZ4MS zr&EunpRCM2eKk5BUonf$yvd4IrkD`$WD5eibgMBmklvE7Wqi-Ea`9=~miuX|=rBy% zC}epYJX>Xd_qftTwY+4lx&x)|5>rGT`@c+1$4&D)a@#DykXI;D4JDx_CZs_4JR$;< z)c}&Q^Ac4DP0NnVY%j`Pcj`Ls2{bNS*}Qc2Y;Gn|mD|5SEBe0W!k(Qm=Pb44w#wy= zs7)CNASlpLWorUGHP$}BA*#eF1NZUZFLAt|2CiVhz%(ARF#{>g7?{PJKyNMZ(ozh} zD`H(Wq6Au9$~l?O#viY5nHjzb?WbKVIHoO~f-P_{Qfmk9dcAUEgV(k^;|jRM;B$cn z>jWnl8LU|GF+SI)Z_475`G)oRiZMsayGG}6d?hAhOzEJHFLx`y1b`PTjv$|1wBnS4 zvMzcE@qvm5AwKI%PIOZ@%K8QL&|-Th$=~=5@zVG52%fb=c+;^XXlq2OJ3#$28oDwX z%EswQGa!=$?I~8!be?41AhTDqMvr0?8eZHB->kHgR5x63$(ku z!zFGg@ovBhE}@tFlL+H7H4i1&i-&mXtncKkpFW{(5v3Z^TUr`rn7n<9Lm%N6c!y3Z zhQJpzEe#)_`Tg(jimT>wZFl1X)PtN?7wd&iIE8q271vyL;W9g7m)V7hQJT2&TxaD7 qJ$`t8qE5%)55h$0@F2$jkgE-|VGzj6;k0l7ibM-KD4QrdHT(fE;8u(P literal 1045 zcmah|O>YuW6g`g_7?=*0BDBTQmMS6zEU7VFSkt7z&t&imf*~%i1u~Uf(F!ouT*8 zVMn(;+!P3O`T~X=bt81;l^-@cR>Ts0r{5uT$sbA!#7%i}&ly({p3VE?C)CQIkOG;D zHAHKkZ0}X&+mTZP^8#kAe=uk}4_q~lnZIqW?aFu3!Zc!3?K6srJ%I&308J^5(tjZQ zo)#96ws2GRn)9I&h$%(ouIzQnPg}cAn`@BH`?=m!bI}~>VTCJXa?8NI;u0XnbB4Dv zpMuX|;VZ-!1_8u*hDJ#Zml<1Q01`;@CNO(e{E0Y?xtF2u2sE`LXid`SwWfZApbA5^ zX7DU)6Q%uwIxRRyRSU&K7=;p#b2+p83#bt}Hnd^jIl^erk&>4gOPI*ZVI6arr%W4D zNZ|?%aqLL*RDR#{9#U1sYUy}O+t8Ex;zuM(N&VKHU@CZs@CRLd{{2(+)<&a animals = new ArrayList(); + animals.add(new Dog()); + animals.add(new Cat()); + animals.add(new Dog()); + takeAnimals(animals); + + ArrayList dogs = new ArrayList(); + dogs.add(new Dog()); + dogs.add(new Dog()); takeAnimals(dogs); } - public void takeAnimals(Animal[] animals) { + public void takeAnimals(ArrayList animals) { for(Animal a: animals) { a.eat(); } From 447591e67bf527faabae8741f956e4e4f02b5906 Mon Sep 17 00:00:00 2001 From: Karen Date: Tue, 22 Jan 2019 18:49:21 +0100 Subject: [PATCH 15/15] rename packages --- .idea/workspace.xml | 376 +++++++++++------- src/Main.java | 2 +- src/{CHAPTER_14 => chapter14}/ReadAFile.java | 2 +- .../DailyAdviceClient.java | 2 +- .../DailyAdviceServer.java | 2 +- .../SimpleChatClientA.java | 2 +- .../VerySimpleChatServer.java | 2 +- src/{CHAPTER_16 => chapter16}/Jukebox.java | 2 +- src/{CHAPTER_16 => chapter16}/Song.java | 2 +- .../TestGenerics.java | 2 +- src/{CHAPTER_16 => chapter16}/TestMap.java | 2 +- 11 files changed, 251 insertions(+), 145 deletions(-) rename src/{CHAPTER_14 => chapter14}/ReadAFile.java (96%) rename src/{CHAPTER_15 => chapter15}/DailyAdviceClient.java (96%) rename src/{CHAPTER_15 => chapter15}/DailyAdviceServer.java (97%) rename src/{CHAPTER_15 => chapter15}/SimpleChatClientA.java (99%) rename src/{CHAPTER_15 => chapter15}/VerySimpleChatServer.java (98%) rename src/{CHAPTER_16 => chapter16}/Jukebox.java (98%) rename src/{CHAPTER_16 => chapter16}/Song.java (97%) rename src/{CHAPTER_16 => chapter16}/TestGenerics.java (97%) rename src/{CHAPTER_16 => chapter16}/TestMap.java (94%) diff --git a/.idea/workspace.xml b/.idea/workspace.xml index 3514cf0..c266c95 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -2,7 +2,18 @@ - + + + + + + + + + + + + @@ -149,9 +121,12 @@ @@ -192,15 +167,15 @@ - +