亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

J2SE綜合:對java.util的總結 八

2019-11-18 11:54:20
字體:
來源:轉載
供稿:網友

  15.10.3 Stack
  
  Stack是Vector的一個子類,它實現標準的后進先出堆棧。Stack僅僅定義了創建空堆棧的默認構造函數。Stack包括了由Vector定義的所有方法,同時增加了幾種它自己定義的方法,具體總結在表15-11中。
  
  表15-11 由Stack 定義的方法
  
  方法描述
  
  boolean empty( ) 假如堆棧是空的,則返回true,當堆棧包含有元素時,返回false
  
  Object peek( ) 返回位于棧頂的元素,但是并不在堆棧中刪除它
  
  Object pop( ) 返回位于棧頂的元素,并在進程中刪除它
  
  Object push(Object element) 將element壓入堆棧,同時也返回element
  
  int search(Object element) 在堆棧中搜索element,假如發現了,則返回它相對于棧頂的偏移量。否則,返回-1
  
  調用push( )方法可將一個對象壓入棧頂。調用pop( )方法可以刪除和返回棧頂的元素。當調用堆棧是空的時,假如調用pop( )方法,將引發一個EmptyStackException異常。調用peek( )方法返回但不刪除棧頂的對象。調用empty( )方法,當堆棧中沒有元素時,返回true.search( )方法確定一個對象是否存在于堆棧,并且返回將其指向棧頂所需的彈出次數。下面是一個創建堆棧的例子,在例子中,將幾個整型(Integer)對象壓入堆棧,然后再將它們彈出。
  
  // Demonstrate the Stack class.
  
  import java.util.*;
  
  class StackDemo {
  
  static void showpush(Stack st, int a) {
  
  st.push(new Integer(a));
  
  System.out.  
  System.out.println("stack: " + st);
  
  }
  
  static void showpop(Stack st) {
  
  System.out.print("pop -> ");
  
  Integer a = (Integer) st.pop();
  
  System.out.println(a);
  
  System.out.println("stack: " + st);
  
  }
  
  public static void main(String args[]) {
  
  Stack st = new Stack();
  
  System.out.println("stack: " + st);
  
  showpush(st, 42);
  
  showpush(st, 66);
  
  showpush(st, 99);
  
  showpop(st);
  
  showpop(st);
  
  showpop(st);
  
  try {
  
  showpop(st);
  
  } catch (EmptyStackException e) {
  
  System.out.println("empty stack");
  
  }
  
  }
  
  }
  
  下面是由該程序產生的輸出。注重對于EmptyStackException的異常處理程序是如何被捕捉以便于能夠從容地處理堆棧的下溢:
  
  stack: [ ]
  
  push(42)
  
  stack: [42]
  
  push(66)
  
  stack: [42, 66]
  
  push(99)
  
  stack: [42, 66, 99]
  
  pop -> 99
  
  stack: [42, 66]
  
  pop -> 66
  
  stack: [42]
  
  pop -> 42
  
  stack: [ ]
  
  pop -> empty stack
  
  15.10.4 Dictionary
  
  字典(Dictionary)是一個表示要害字/值存儲庫的抽象類,同時它的操作也很像映射(Map)。給定一個要害字和值,可以將值存儲到字典(Dictionary)對象中。一旦這個值被存儲了,就能夠用它的要害字來檢索它。因此,與映射一樣,字典可以被當做要害字/值對列表來考慮。盡管在Java 2中并沒有擯棄字典(Dictionary),由于它被映射(Map)所取代,從而被認為是過時的。然而由于目前Dictionary被廣泛地使用,因此這里仍對它進行具體的討論。
  
  由Dictionary定義的抽象方法在表15-12中列出。
  
  表15-12 由Dictionary 定義的抽象方法
  
  方法描述
  
  Enumeration elements( ) 返回對包含在字典中的值的枚舉Object get(Object key) 返回一個包含與key相連的值的對象。假如key不在字典中,則返回一個空對象
  
  boolean isEmpty( ) 假如字典是空的,則返回true;假如字典中至少包含一個要害字,則返回false
  
  Enumeration keys( ) 返回包含在字典中的要害字的枚舉Object put(Object key, Object value) 將一個要害字和它的值插入字典中。假如key已經不在字典中了,則返回null;假如key已經在字典中了,則返回與key相關聯的前一個值
  
  續表
  
  方法描述
  
  Object remove(Object key) 刪除key和它的值。返回與key相關聯的值。假如key不在字典中,則返回null
  
  int size( ) 返回字典中的項數使用put( )方法在字典中增加要害字和值。使用get( )方法檢索給定要害字的值。當分別使用keys( )和elements( )方法進行枚舉(Enumeration)時,要害字和值可以分別逐個地返回。size( )方法返回存儲在字典中的要害字/值對的個數。當字典是空的時候,isEmpty( )返回true.使用remove( )方法可以刪除要害字/值對。
  
  注重:Dictionary類是過時的。應該執行Map接口去獲得要害字/值存儲的功能。
  
  15.10.5 Hashtable
  
  散列表(Hashtable)是原始java.util中的一部分同時也是Dictionary的一個具體實現。然而,Java 2重新設計了散列表(Hashtable)以便它也能實現映射(Map)接口。因此現在Hashtable也被集成到類集框架中。它與HashMap相似,但它是同步的。
  
  和HashMap一樣,Hashtable將要害字/值對存儲到散列表中。使用Hashtable時,指定一個對象作為要害字,同時指定與該要害字相關聯的值。接著該要害字被散列,而把得到的散列值作為存儲在表中的值的下標。散列表僅僅可以存儲重載由Object定義的hashCode( )和equals( )方法的對象。hashCode( )方法計算和返回對象的散列碼。當然,equals( )方法比較兩個對象。幸運的是,許多Java內置的類已經實現了hashCode( )方法。例如,大多數常見的Hashtable類型使用字符串(String)對象作為要害字。String實現hashCode( )和equals( )方法。
  
  Hashtable的構造函數如下所示:
  
  Hashtable( )
  
  Hashtable(int size)
  
  Hashtable(int size, float fillRatio)
  
  Hashtable(Map m)
  
  第一種形式是默認的構造函數。第二種形式創建一個散列表,該散列表具有由size指定的原始大小。第三種形式創建一個散列表,該散列表具有由size指定的原始大小和由fillRatio指定的填充比。填充比必須介于0.0和1.0之間,它決定了在散列表向上調整大小之前散列表的布滿度。具體地說,當元素的個數大于散列表的容量乘以它的填充比時,散列表被擴展。假如沒有指定填充比,默認使用0.75.最后,第四種形式創建一個散列表,該散列表用m中的元素初始化。散列表的容量被設為m中元素的個數的兩倍。默認的填充因子設為0.75.第四種構造函數是在Java 2中新增加的。
  
  除了Hashtable目前實現的,由Map接口定義的方法之外,Hashtable定義的從以前版本遺留下來的方法列在表15-13中。
  
  表15-13 由Hashtable 定義的從以前版本遺留下來的方法
  
  方法描述
  
  void clear( ) 復位并清空散列表
  
  Object clone( ) 返回調用對象的復制
  
  boolean contains(Object value) 假如一些值與存在于散列表中的value相等的話,則返回true;假如這個值不存在,則返回false
  
  boolean containsKey(Object key) 假如一些要害字與存在于散列表中的key相等的話,則返回true;假如這個要害字不存在,則返回false
  
  boolean containsValue(Object value) 假如一些值與散列表中存在的value相等的話,返回true;假如這個值沒有找到,則返回false(是一種為了保持一致性而在Java2中新增加的非Map方法)
  
  Enumeration elements( ) 返回包含在散列表中的值的枚舉
  
  Object get(Object key) 返回包含與key相關聯的值的對象。假如key不在散列表中,則返回一個空對象
  
  boolean isEmpty( ) 假如散列表是空的,則返回true;假如散列表中至少包含一個要害字,則返回false
  
  Enumeration keys( ) 返回包含在散列表中的要害字的枚舉
  
  Object put(Object key, Object value) 將要害字和值插入散列表中。假如key已經不在散列表中,返回null。假如key已經存在于散列表中,則返回與key相連的前一個值
  
  void rehash( ) 增大散列表的大小并且對其要害字進行再散列。
  
  Object remove(Object key) 刪除key及其對應的值。返回與key相關聯的值。假如key不在散列表中,則返回一個空對象
  
  int size( ) 返回散列表中的項數
  
  String toString( ) 返回散列表的等價字符串形式
  
  下面的例子重寫前面介紹的關于銀行賬目的程序。在重寫的程序中,使用Hashtable儲存銀行存款人的名字和他們當前的資產平衡表:
  
  // Demonstrate a Hashtable
  
  import java.util.*;
  
  class HTDemo {
  
  public static void main(String args[]) {
  
  Hashtable balance = new Hashtable();
  
  Enumeration names;
  
  String str;
  
  double bal;

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美激情精品久久久久久大尺度| 欧美日韩亚洲一区二区| 亚洲欧洲国产一区| 久久艳片www.17c.com| 成人激情视频免费在线| 久久久这里只有精品视频| 92看片淫黄大片看国产片| 亚洲品质视频自拍网| 国产成一区二区| 日韩电影免费在线观看| 欧美日韩色婷婷| 久久精品视频网站| 2023亚洲男人天堂| 久久精品国产亚洲精品| 国产日韩在线精品av| 国产精品美女无圣光视频| 国产精品中文久久久久久久| 国产一区二区动漫| 国产日韩中文字幕| 91欧美精品成人综合在线观看| 在线观看不卡av| 97av在线视频免费播放| 亚洲伦理中文字幕| 欧美极品在线播放| 欧美视频免费在线| 欧美日韩国产丝袜美女| 亚洲国产第一页| 亚洲18私人小影院| 国产激情999| 久久国产精品电影| 欧美高清视频在线播放| 色偷偷噜噜噜亚洲男人| 国产精品美女免费视频| 国产欧美日韩视频| 精品久久久香蕉免费精品视频| 色噜噜久久综合伊人一本| 国产精品久久一| 精品久久久久久中文字幕大豆网| 色777狠狠综合秋免鲁丝| 久久国产精品久久久久久久久久| 亚洲精品视频中文字幕| 九色精品免费永久在线| 日韩高清电影好看的电视剧电影| 亚洲曰本av电影| 亚洲一区二区中文字幕| 国产精品av网站| 一区国产精品视频| 欧美国产第一页| www.久久色.com| 668精品在线视频| 成人中心免费视频| 国产精品吹潮在线观看| 亚洲一区二区三区四区在线播放| 国产69精品久久久久99| 日韩在线播放一区| 国产精品久久99久久| 欧美亚洲成人xxx| 久久免费视频这里只有精品| 日韩精品极品毛片系列视频| 在线电影欧美日韩一区二区私密| 亚洲激情视频在线播放| 国产91热爆ts人妖在线| 色yeye香蕉凹凸一区二区av| 最近的2019中文字幕免费一页| 日韩精品有码在线观看| 久久久国产精品免费| 国产不卡av在线| 人人爽久久涩噜噜噜网站| 在线观看欧美视频| 欧美午夜www高清视频| 亚洲国产97在线精品一区| 欧美精品国产精品日韩精品| 成人激情视频在线观看| 不卡av电影院| 日韩欧美aⅴ综合网站发布| 国产精品一区久久| 97精品视频在线播放| 日韩电影在线观看永久视频免费网站| 午夜精品免费视频| 久久成人国产精品| 精品国产福利在线| 日韩精品在线免费播放| 日韩欧美中文字幕在线观看| 亚洲欧美精品一区二区| 国外成人在线直播| 午夜欧美大片免费观看| 成人网页在线免费观看| 精品久久香蕉国产线看观看亚洲| 国产亚洲精品一区二555| 亚洲精品日韩久久久| 欧美成年人视频| 97涩涩爰在线观看亚洲| 91久久中文字幕| 精品偷拍一区二区三区在线看| 九九视频直播综合网| 日韩精品在线观看一区| 亚洲最大福利网| 亚洲精品一区二区网址| 91热福利电影| 亚洲黄色在线看| 亚洲va久久久噜噜噜久久天堂| 丝袜美腿精品国产二区| 亚洲天堂日韩电影| 97热精品视频官网| 国产精品视频在线播放| 日本国产欧美一区二区三区| 日韩免费电影在线观看| 日韩黄在线观看| 亚洲第一网中文字幕| 国产精品第100页| 欧美日韩成人在线观看| 日韩欧美黄色动漫| 狠狠躁夜夜躁久久躁别揉| 欧美精品少妇videofree| 国内外成人免费激情在线视频| 亚洲精品国精品久久99热| 在线亚洲午夜片av大片| 欧美成人激情视频免费观看| 欧美国产日韩在线| 精品色蜜蜜精品视频在线观看| 国产精品video| 色妞久久福利网| 国产性猛交xxxx免费看久久| 尤物yw午夜国产精品视频| 亚洲国产一区自拍| 亚洲精品美女久久| 91在线看www| 久久精品成人一区二区三区| 日韩在线观看免费高清完整版| 欧美日韩国产专区| 亚洲国产精品久久| 久久精品国产v日韩v亚洲| 国产成人激情视频| 久久视频在线免费观看| 久热99视频在线观看| 91精品一区二区| 久久国产精品网站| 91在线网站视频| 国产精品伦子伦免费视频| 欧美巨大黑人极品精男| 欧美一区三区三区高中清蜜桃| 97成人精品区在线播放| 国产成+人+综合+亚洲欧美丁香花| 一区二区三区 在线观看视| 欧美最顶级丰满的aⅴ艳星| 亚洲xxxx妇黄裸体| 国产69久久精品成人看| 国产精品久久久久久久久粉嫩av| 另类色图亚洲色图| 午夜精品一区二区三区在线播放| 97热精品视频官网| 久久久91精品国产一区不卡| 欧美性猛交99久久久久99按摩| 午夜欧美大片免费观看| 久久精品99国产精品酒店日本| 成人黄色在线免费| 色偷偷偷亚洲综合网另类| 日韩av在线网页| 国产精自产拍久久久久久蜜| 久久精品视频在线观看| 久久这里只有精品视频首页| 尤物tv国产一区| 欧美xxxwww| 欧美网站在线观看|