freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

java語言程序設(shè)計基礎(chǔ)教程(javaapplet基礎(chǔ)與java實現(xiàn))ppt-資料下載頁

2024-10-18 14:50本頁面
  

【正文】 ? name = n。 ? } ? public int pareTo(Object b) { ? NewStudent st = (NewStudent) b。 ? return ( )。 // 按成績大小排列對象。 ? } ? } 2.用構(gòu)造方法 TreeSet(Comparator c)創(chuàng)建一個樹集,通過參數(shù) c規(guī)定樹集的節(jié)點按怎樣的順序排列: ? TreeSet mytree=new TreeSet(new Comparator(){ ? public int pare(Object a,Object b){ ? Student stu1=(Student)a。 ? Student stu2=(Student)b。 ? return (stu2)。 ? } ? })。 ? 注: Comparator是 ,pare是接口中的方法,因此必須給出方法體。 TreeSet類的一些常用方法 ? TreeSet類的一些常用方法如下: ? public boolean add(Object o):向樹集添加加節(jié)點,添加成功返回true,否則返回 false。 ? public void clear():刪除所有的節(jié)點。 ? public void contains(Object o):如果包含節(jié)點 o返回 true 。 ? public Object first():返回根節(jié)點,即第一個節(jié)點(最小的節(jié)點)。 ? public Object last():返回最后一個節(jié)點(最大的節(jié)點)。 ? public isEmpty():判斷是否是空樹集,如果樹集不含節(jié)點返回true 。 ? public boolean remove(Object o):刪除節(jié)點 o。 ? public int size():返回節(jié)點數(shù)目。 樹映射 ? 上一節(jié)學習的樹集 TreeSet適合用于數(shù)據(jù)的排序,結(jié)點是按著存儲的對象的大小升序排列。 TreeMap類實現(xiàn)了 Map接口,稱TreeMap對象為樹映射。樹映射使用: ? public V put(K key,V value)。 ? 方法添加結(jié)點,該結(jié)點不僅存儲數(shù)據(jù) value,而且也存儲和其關(guān)聯(lián)的關(guān)鍵字 key,也就是說,樹映射的結(jié)點存儲“關(guān)鍵字 /值”對。和樹集不同的是,樹映射保證結(jié)點是按照結(jié)點中的關(guān)鍵字升序排列。TreeMap類的常用構(gòu)造方法如下: ? TreeMap():構(gòu)造一個新的空映射,該映射按照鍵的自然順序排序。 ? TreeMap(Comparator? super K c):構(gòu)造一個新的空映射,該映射根據(jù)給定的比較器進行排序。 【 例 1212】 本例使用了 TreeMap,分別按學生的英語成績和數(shù)學成績排序結(jié)點。 ? import .*。 ? class StudentKey implements Comparable { ? double d = 0。 ? StudentKey(double d) { ? = d。 ? } ? public int pareTo(Object b) { ? StudentKey st = (StudentKey) b。 ? if (( ) == 0) { ? return 1。 ? } else { ? return (int) (( ) * 1000)。 ? } ? } ? } ? class Student1 { ? String name = null。 ? double math, english。 ? Student1(String s, double m, double e) { ? name = s。 ? math = m。 ? english = e。 ? } ? } ? public class ep12_12 { ? public static void main(String args[]) { ? TreeMap treemap = new TreeMap(new Comparator() { ? public int pare(Object a, Object b) { ? StudentKey key1 = (StudentKey) a。 ? StudentKey key2 = (StudentKey) b。 ? return (key2)。 ? } ? })。 ? String str[] = { 趙一 , 錢二 , 孫三 , 李四 }。 ? double math[] = { 89, 45, 78, 76 }。 ? double english[] = { 67, 66, 90, 56 }。 ? Student1 student[] = new Student1[4]。 ? for (int k = 0。 k 。 k++) { ? student[k] = new Student1(str[k], math[k], english[k])。 ? } ? StudentKey key[] = new StudentKey[4]。 ? for (int k = 0。 k 。 k++) { ? key[k] = new StudentKey(student[k].math)。 ? } ? for (int k = 0。 k 。 k++) { ? (key[k], student[k])。 ? } ? int number = ()。 ? (樹映射中有 + number + 個對象 ,按數(shù)學成績排序 :)。 ? Collection collection = ()。 ? Iterator iter = ()。 ? while (()) { ? Student1 stu = (Student1) ()。 ? (姓名 + + 數(shù)學 + )。 ? } ? ()。 ? for (int k = 0。 k 。 k++) { ? key[k] = new StudentKey(student[k].english)。 ? } ? for (int k = 0。 k 。 k++) { ? (key[k], student[k])。 ? } ? number = ()。 ? (樹映射中有 + number + 個對象 :按英語成績排序 :)。 ? collection = ()。 ? iter = ()。 ? while (()) { ? Student1 stu = (Student1) ()。 ? (姓名 + + 英語 + )。 ? } ? } ? } 程序運行后的結(jié)果如下所示: Hashtable ? 使用 Hashtable類來創(chuàng)建散列表對象。散列表是使用相關(guān)關(guān)鍵字查找被存儲的數(shù)據(jù)項的一種數(shù)據(jù)結(jié)構(gòu),關(guān)鍵字必須唯一,任何非 null 對象都可以用作鍵或值。散列表在它需要更多的存儲空間時會自動增大容量。例如,如果散列表的裝載因子是 ,那么當散列表的容量被使用了 75%時,它就把容量增加到原始容量的2倍。 ? 為了成功地在哈希表中存儲和檢索對象,用作鍵的對象必須實現(xiàn) hashCode 方法和 equals 方法。 下面這個示例 1213創(chuàng)建了一個數(shù)字的哈希表。它將數(shù)字的名稱用作鍵: ? 【 例 1213】 ? Hashtable numbers = new Hashtable()。 ? (one, new Integer(1))。 ? (two, new Integer(2))。 ? (three, new Integer(3))。 ? 要檢索一個數(shù)字,可以使用以下代碼: ? Integer n = (Integer)(two)。 ? if (n != null) { ? (two = + n)。 ? } Hashtable類的常用方法 ? Hashtable類的常用方法如下: ? public Hashtable():創(chuàng)建具有默認容量和裝載因子為 。 ? public Hashtable(int itialCapacity):創(chuàng)建具有指定容量和裝載因子為 的散列表。 ? public Hashtable(int initialCapacity,float loadFactor):創(chuàng)建具有默認容量和指定裝載因子散列表。 ? public void clear():清空散列表。 ? public boolean contains(Object o):判斷散列表是否有含有元素 o。 ? public Object get(Object key):獲取散列表中具有關(guān)鍵字 key的數(shù)據(jù)項。 ? public boolean isEmpty():判斷散列表是否為空。 ? public Object put(Object key,Object value):向散列表添加數(shù)據(jù)項 value并把關(guān)鍵字 key關(guān)聯(lián)到數(shù)據(jù)項 value。 ? public Object remove(Object key):刪除關(guān)鍵字是 key的數(shù)據(jù)項。 ? public int size():獲取散列表中關(guān)鍵字的數(shù)目。 ? elements()方法返回一個 Enumeration對象,實現(xiàn)遍歷散列表。 Hashtable類的應(yīng)用 ? 在下面的例子中,使用 Hashtable()創(chuàng)建一個散列表,存放 Student對象,每個 Student對象用該對象的學號作為關(guān)鍵字。 ? 散列表是個鏈接式列表的陣列,每個列表稱為一個散列表元,散列表為每個對象計算出一個整數(shù),稱為散列碼,不存在重復的多個元素;若要查找表中的某個對象的位置,只要計算出它的散列碼,再將它減去以散列表元的總數(shù)為模數(shù)的值,得出的數(shù)就是擁有該元素的散列表元的索引。如果大致知道散列表最終會擁有多少個元素,那么應(yīng)該將初始散列表元的數(shù)量設(shè)置為大約是預期元素數(shù)量的 150%,最好是將散列表的大小設(shè)置成一個素數(shù)。在 Java中,使用加載因子決定何時要對散列表進行再散列。 ? Java的集合庫提供了一個 HashSet類,用于根據(jù)散列表來實現(xiàn)一個散列集;構(gòu)造函數(shù)如下: ? HashSet(int initialCapacity)。 ? HashSet(int initialCapacity,float loadFactor)。 ? 只有在不在乎集合中的各個元素的順序時,才能使用散列集。 Java增加了一個類LinkedHashSet,用于跟蹤添加給散列集的元素順序;其迭代器會按照元素的插入順序來訪問各個元素。 HashSet和 TreeSet的比較: ? HashSet是基于 Hash算法實現(xiàn)的,其性能通常都優(yōu)于 TreeSet。我們通常都應(yīng)該使用HashSet,在我們需要排序的功能時,我們才使用 TreeSet。 向量 ? Java的 Vector 類負責創(chuàng)建一個向量對象,可以實現(xiàn)可增長的對象數(shù)組。向量相當于動態(tài)的,可以存儲不同數(shù)據(jù)類型數(shù)據(jù)的數(shù)組。與數(shù)組一樣,它包含可以使用整數(shù)索引進行訪問的組件。但是,Vector 的大小可以根據(jù)需要增大或縮小,以適應(yīng)創(chuàng)建 Vector 后進行添加或移除項的操作。 ? 注意:當你把某一種類型的對象放入一個向量后,數(shù)據(jù)被默認為是 Object對象,因此當向量中取出一個元素時應(yīng)用強制類型轉(zhuǎn)化運算符轉(zhuǎn)化為原來的類型。 Vector類的常用方法 ? Vector類的常用方法如下: ? void add(Object o):將對象 o添加到向量的末尾; ? void add(int index Object o):將對象 o插入到向量的指定位置; ? void addElements(Object o):將對象 o添加到向量的末尾; ? boolean contains(Object o):判斷對象 o是否為向量的成員; ? Object elementAt(int index):獲取指定位置處的成員; ? Object get(int index):獲取此向量指定位置處的成員; ? Object firstElement():獲取此向量的第一個成員; 練習思考題 ? 下列哪個不是線性表( )。 ? A、鏈表 B、隊列 ? C、棧 D、關(guān)聯(lián)數(shù)組 ? 使用堆棧結(jié)構(gòu)輸出的若干項,其中 =2+2,=3, =8。
點擊復制文檔內(nèi)容
教學課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1