數組,集合
1.10 星期三
? array 數組:數組是一個具有相同類型的數據值得索引集合.
? 數組申明:double[] rainfull; 推薦
?????????? 或
??? double rainfull[];
?
?? 引用數據類型:接口,對象,數組.
?? rainfull = new double[12];
?? 創建一個長度為12的數組,把空間地址賦給rainfull.
?? 數組索引是從0開始(沒特殊要求情況下,索引一般都是從0開始)
?
?? 動態數組--自動增長
?? 數組.length (屬性)
?? String.leng()? (方法)
?? String[] m = {"a","b","c"...}
?? 在申明初始化時,數組的大小設定.
?? int size;
?? int[] number;
?? size = Integer.parseInt(JOptionPane.showMessageLag(null,"size of .."));??
?? number = new int[size];?? (方法也不是很好.因為size不一樣,對象也就不一樣.)
?? 可變型數組?
???
?? 對象數組
?? 數組的類型不是基本數據類型;
?? Person[] person;
?? person = new Person[20];
?? 對象數組每個元素都是一個對象,沒初始化時是null.
?? Person[0] = new Person[]; 創建對象
1.11 星期四
?? JCF--java集合框架
?? Java Collection Framework
?? JCF是什么?
?? 是java語言設計出來的針對底層算法和數據結構的一系列類.
?? 在哪用JCF?
?? 凡是提到數據結構和算法的都可以用JCF
?? 為什么用JCF?
?? 讓程序員的重點放在業務上,而不是如何去寫算法上.
??
?? 接口???????????????? Collection
????????????????????????? |??? |
????????????????????????? |??? |
??????????????????? set----???? ----list?????????????? map
?
?? 實現??????????? HashSet????????? ArrayList????????? SoredMap
?
?? 算法??????????? Collections
?? 以上構成JCF
?
?? list 列表???? map 映射
?? list的重要特征是幫我們管理大量對象
?? ArrayList 數組列表
?? LinkedList (單雙)鏈表 (不是連續的,通過指針連接)
?? ArrayList al = new ArrayList();
?? al.add(1);
?? al.add(4);
?? al.add(2);? 增加
?? ......
?? al.remove;? 刪除
?? System.out.println(al);
?? System.out.println(al.get(3));
?? 排序
?? Collections.sort(al); 小到大
?? Collections.max(al);
?? Collections.min(al);
?? Collections.sort(al,Collection.reverseOrder);? 大到小
?
?? Vector 跟 ArrayList 很相似
?? 向量
?? 如何便利集合
?? Iterator it = al.iterator(); 迭帶器 挨個訪問
?? while(it.hasNext())
?? {
????? System.out.println(al.next);
?? }
?? HashMap 不允許重復
?? TreeMap 自動排序
?
?? treeMap tr = new TreeMap();
?? tr.put(1,1);? (key,value)
?? .......
?? Object[] o = tr.keySet().ToArray();
?? Object[] o = tr.value().ToArray();???????????????
?
?? System.out.println(tr);
?? for(int i = 0;i<o.leng;i++)
?? {
????? System.out.println(0[i]);
?? }