2012年7月6日 星期五

0704 JSP JAVA基礎課程複習

繼續昨天的Java課程

ArrayList 與 LinkedList 地效率比較,基於兩種java程式碼 在建立1000000陣列元素的所需時間
ArrayList.java
LinkedList.java
批次檔執行後結果
ArrayList 測試後的結果


LinkedList 測試後的結果
從執行結果可判讀出 ArrayList 及LinkedList 新增速度差距很大


Map (key, value) 是相對應關係,故一個key只能對一個值,key的值不能重複,value的值可以重複。
如檔案說明:
執行後的結果
同樣地key值,我最喜歡的零食,前值是冰欺凌被後值巧克力取代。
(感想:map應該是很有用處,必須再好好研究)


說明:
set 無次序無重複
list 有次序(先來後到)有重複(可)
雜湊碼相同不一定是相同物件
雜湊碼不同一定不是相同物件


4個equals java已改寫
1. java.lang.String
2. java.io.File
3. java.net.URL
4. java.util.Date


Overwrite 必須滿足種類數量次序都相同才能覆蓋


改寫equals
motocyle.java
Test.java
Switch case 功能的好處:
可以不用重複再if 迴圈的判讀許多值可以只血一次就搞定
另外default可以不用擺在最後
Test.java
客人購買高級車時,贈品包含四項
    客人購買中級車時,贈品包含三項
    客人購買國民車時,贈品包含二項
    客人不買車時贈品只有來店禮
因為case 後頭必須沒有break所以後續指令繼續值型


陣列說明
四星彩檔案
lottary.java
建議在練習寫程式時,對於空白程式無從下手前可以先寫中文註解再一步步完成(這題重點是i--,檢查碼時遇到數字重複時利用i--再取新的號碼取代舊的。)
建議:加強練習顯示號碼排序但最後一個特別號不排序
我的彩球號碼排序寫完,但第一個彩球的號碼牌過一次後就不會再排,問題需再解!




老師利用set 及hash 等方法試做,
    
二維陣列 (多維陣列不一定是規則)
維陣列 a = {1,2,3}
維陣列 a = {1,2,3}
                 b = {4,5}
維陣列(就是多個二維陣列)
     c = a{1,2,3},b{4,5}
     d = a{1,2,3} f{6,7}


字串相加 得要注意!!如果是數字或前面是字串,後頭的數字會當作是字串來處理,故
int salary =20000;
int bonus =2000;
"金額 = " +salary + bonus ;
結果等於 金額=200002000;

字串特別處
String s1 ='y';
String s2 = 'y';
String s3 = new String('y');

s1 == s2  true
s1 == s3 false
s1.equals(s3)= true;


案例:
自健保藥品資料庫中 篩選出有vitamin字樣的藥品資料
藥品資料庫
尋找維他命字串的程式碼
結果輸出至檔案 vitamin.txt


字串功能練習 subString

substring這個功能應該再練熟點


字串的長度是方法 String.length()
陣列的長度是屬性 Array.length
Replace 取代功能







沒有留言:

張貼留言