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

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

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

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

  15.10 從以前版本遺留下來的類和接口
  
  正如本章開始時介紹的那樣,java.util的最初版本中不包括類集框架。取而代之,它定義了幾個類和接口提供專門的方法用于存儲對象。隨著在Java 2中引入類集,有幾種最初的類被重新設計成支持類集接口。因此它們與框架完全兼容。盡管實際上沒有類被擯棄,但其中某些仍被認為是過時的。當然,在那些重復從以前版本遺留下來的類的功能性的地方,通常都愿意用類集編寫新的代碼程序。一般地,對從以前版本遺留下來的類的支持是因為仍然存在大量使用它們的基本代碼。包括現在仍在被Java 2的應用編程接口(API)使用的程序。
  
  另一點,沒有一個類集類是同步的。但是所有的從以前版本遺留下來的類都是同步的。這一區別在有些情況下是很重要的。當然,通過使用由Collections提供的算法也很輕易實現類集同步。
  
  由java.util定義的從以前版本遺留下來的類說明如下:
  
  Dictionary Hashtable PRoperties Stack Vector
  
  有一個枚舉(Enumeration)接口是從以前版本遺留下來。在下面依次介紹Enumeration和每一種從以前版本遺留下來的類。
  
  15.10.1 Enumeration接口
  
  Enumeration接口定義了可以對一個對象的類集中的元素進行枚舉(一次獲得一個)的方法。這個接口盡管沒有被擯棄,但已經被Iterator所替代。Enumeration對新程序來說是過時的。然而它仍被幾種從以前版本遺留下來的類(例如Vector和Properties)所定義的方法使用,被幾種其他的API類所使用以及被目前廣泛使用的應用程序所使用。
  
  Enumeration指定下面的兩個方法:
  
  boolean hasMoreElements( )
  
  Object nextElement( )
  
  執行后,當仍有更多的元素可提取時,hasMoreElements( )方法一定返回true.當所有元素都被枚舉了,則返回false.nextElement( )方法將枚舉中的下一個對象做為一個類屬Object的引用而返回。也就是每次調用nextElement( )方法獲得枚舉中的下一個對象。調用例程必須將那個對象置為包含在枚舉內的對象類型。
  
  15.10.2 Vector
  
  Vector實現動態數組。這與ArrayList相似,但兩者不同的是:Vector是同步的,并且它包含了許多不屬于類集框架的從以前版本遺留下來的方法。隨著Java 2的公布,Vector被重新設計來擴展AbstractList和實現List接口,因此現在它與類集是完全兼容的。這里是Vector的構造函數:
  
  Vector( )
  
  Vector(int size)
  
  Vector(int size, int incr)
  
  Vector(Collection c)
  
  第一種形式創建一個原始大小為10的默認矢量。第二種形式創建一個其原始容量由size指定的矢量。第三種形式創建一個其原始容量由size指定,并且它的增量由incr指定的矢量。增量指定了矢量每次答應向上改變大小的元素的個數。第四種形式創建一個包含了類集c中元素的矢量。這個構造函數是在Java 2中新增加的。
  
  所有的矢量開始都有一個原始的容量。在這個原始容量達到以后,下一次再試圖向矢量中存儲對象時,矢量自動為那個對象分配空間同時為別的對象增加額外的空間。通過分配超過需要的內存,矢量減小了可能產生的分配的次數。這種次數的減少是很重要的,因為分配內存是很花時間的。在每次再分配中,分配的額外空間的總數由在創建矢量時指定的增量來確定。假如沒有指定增量,在每個分配周期,矢量的大小增一倍。
  
  Vector定義了下面的保護數據成員:
  
  int capacityIncrement;
  
  int elementCount;
  
  Object elementData[ ];
  
  增量值被存儲在capacityIncrement中。矢量中的當前元素的個數被存儲在elementCount中。保存矢量的數組被存儲在elementData中。
  
  除了由List定義的類集方法之外,Vector還定義了幾個從以前版本遺留下來的方法,這些方法列在表15-10中。
  
  表15-10 由Vector 定義的方法
  
  方法描述
  
  final void addElement(Object element) 將由element指定的對象加入矢量int capacity( ) 返回矢量的容量
  
  Object clone( ) 返回調用矢量的一個拷貝Boolean contains(Object element) 假如element被包含在矢量中,則返回true;假如不包含于其中,則返回falsevoid copyInto(Object array[ ]) 將包含在調用矢量中的元素復制到由array指定的數組中Object elementAt(int index) 返回由index指定位置的元素Enumeration elements( ) 返回矢量中元素的一個枚舉Object firstElement( ) 返回矢量的第一個元素int indexOf(Object element) 返回element首次出現的位置下標。假如對象不在矢量中,則返回-1
  
  int indexOf(Object element, int start) 返回element在矢量中在start及其之后第一次出現的位置下標。假如該對象不屬于矢量的這一部分,則返回-1
  
  void insertElementAt(Object element,int index)在矢量中,在由index指定的位置處加入elementboolean isEmpty( ) 假如矢量是空的,則返回true.假如它包含了一個或更多個元素,則返回false
  
  Object lastElement( ) 返回矢量中的最后一個元素int lastIndexOf(Object element) 返回element在矢量中最后一次出現的位置下標。假如對象不包含在矢量中,則返回-1
  
  int lastIndexOf(Object element,int start) 返回element在矢量中,在start之前最后一次出現的位置下標。假如該對象不屬于矢量的這一部分,則返回-1
  
  void removeAllElements( ) 清空矢量,在這個方法執行以后,矢量的大小為0boolean removeElement(Object element) 從矢量中刪除element.對于指定的對象,矢量中假如有其多個實例,則其中第一個實例被刪除。假如成功刪除,則返回true;假如沒有發現對象,則返回falsevoid removeElementAt(int index) 刪除由index指定位置處的元素void setElementAt(Object element,int index)將由index指定的位置分配給elementvoid setSize(int size) 將矢量中元素的個數設為size.假如新的長度小于老的長度,元素將丟失;假如新的長度大于老的長度,則在其后增加null元素int size( ) 返回矢量中當前元素的個數
  
  續表
  
  方法描述
  
  String toString( ) 返回矢量的字符串等價形式void trimToSize( ) 將矢量的容量設為與其當前擁有的元素的個數相等因為Vector實現List,所以可以像使用ArrayList的一個實例那樣使用矢量。也可以使用它的從以前版本遺留下來的方法來操作它。例如,在后面實例化Vector,可以通過調用addElement( )方法而為其增加一個元素。調用elementAt( )方法可以獲得指定位置處的元素。調用firstElement( )方法可以得到矢量的第一個元素。調用lastElement( )方法可以檢索到矢量的最后一個元素。使用indexOf( ) 和lastIndexOf( ) 方法可以獲得元素的下標。調用removeElement( )或removeElementAt( )方法可以刪除元素。
  
  下面的程序使用矢量存儲不同類型的數值對象。程序說明了幾種由Vector定義的從以前版本遺留下來的方法,同時它也說明了枚舉(Enumeration)接口。
  
  // Demonstrate various Vector Operations.
  
  import java.util.*;
  
  class VectorDemo {
  
  public static void main(String args[]) {
  
  // initial size is 3, increment is 2
  
  Vector v = new Vector(3, 2);
  
  System.out.println("Initial size: " + v.size());
  
  System.out.println("Initial capacity: " +
  
  v.capacity());
  
  v.addElement(new Integer(1));
  
  v.addElement(new Integer(2));
  
  v.addElement(new Integer(3));
  
  v.addElement(new Integer(4));
  
  System.out.println("Capacity after four additions: " +
  
  v.capacity());
  
  v.addElement(new Double(5.45));
  
  System.out.println("Current capacity: " +
  
  v.capacity());
  
  v.addElement(new Double(6.08));
  
  v.addElement(new Integer(7));
  
  System.out.println("Current capacity: " +
  
  v.capacity());
  
  v.addElement(new Float(9.4));
  
  v.addElement(new Integer(10));
  
  System.out.println("Current capacity: " +
  
  v.capacity());
  
  v.addElement(new Integer(11));
  
  v.addElement(new Integer(12));
  
  System.out.println("First element: " +
  
  (Integer)v.firstElement());
  
  System.out.println("Last element: " +
  
  (Integer)v.lastElement());
  
  if(v.contains(new Integer(3)))
  
  System.out.println("Vector contains 3.");
  
  // enumerate the elements in the vector.
  
  Enumeration vEnum = v.elements();
  
  System.out.println("/nElements in vector:");
  
  while(vEnum.hasMoreElements())
  
  System.out.print(vEnum.nextElement() + " ");
  
  System.out.println();
  
  }
  
  }
  
  該程序的輸出如下所示:
  
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
琪琪亚洲精品午夜在线| 欧美性猛交xxxx乱大交极品| 午夜精品一区二区三区在线视频| 精品无人国产偷自产在线| 久久伊人精品一区二区三区| 亚洲精品中文字幕女同| 日韩av在线免费| 亚洲国产毛片完整版| 久久香蕉精品香蕉| 久久久久久久电影一区| 亚洲欧洲午夜一线一品| 国产精品看片资源| 欧美午夜片在线免费观看| 欧美精品免费看| 亚洲人成电影网站色xx| 日韩大片在线观看视频| 青草热久免费精品视频| 亚洲天堂第一页| www高清在线视频日韩欧美| 国产精品视频yy9099| 国外成人免费在线播放| 最近2019免费中文字幕视频三| 国内精品免费午夜毛片| 欧美日韩成人在线视频| 久久男人的天堂| 亚洲美女免费精品视频在线观看| 一夜七次郎国产精品亚洲| 懂色av影视一区二区三区| 国产成人+综合亚洲+天堂| 精品国产一区二区三区四区在线观看| 91中文字幕在线| 懂色av影视一区二区三区| 国内精品久久久久久| 欧美激情欧美激情| 久久久999成人| 国产亚洲激情视频在线| 国产一区二区三区日韩欧美| 亚洲视频视频在线| 久久久91精品国产一区不卡| 亚洲精品xxxx| 欧美三级欧美成人高清www| 国产精品自产拍在线观看| 亚洲第一男人av| 久久理论片午夜琪琪电影网| 亚洲国产成人精品久久久国产成人一区| 亚洲人成电影在线观看天堂色| 国产美女精品免费电影| 久久久精品中文字幕| 茄子视频成人在线| 亚洲性夜色噜噜噜7777| 久久人91精品久久久久久不卡| 色无极影院亚洲| 成人黄色av播放免费| 深夜福利亚洲导航| 欧美伊久线香蕉线新在线| 91社影院在线观看| 亚洲第一精品自拍| 欧美精品福利在线| 91色中文字幕| 欧美肥老太性生活视频| 国产日韩精品入口| 成人妇女免费播放久久久| 亚洲天堂免费观看| 欧美高清视频在线| 久久久久久久激情视频| 亚洲精品资源美女情侣酒店| 欧美xxxx做受欧美| 奇米影视亚洲狠狠色| 亚洲男人天天操| 欧美极品少妇xxxxⅹ免费视频| 欧洲永久精品大片ww免费漫画| 日韩精品免费视频| 一区二区成人精品| 91精品国产777在线观看| 日韩精品视频在线观看免费| 国产成人高清激情视频在线观看| 亚洲日本aⅴ片在线观看香蕉| 日本老师69xxx| 国产精品久久久久久久久久| 欧美激情精品久久久| 国产区亚洲区欧美区| 精品久久久久久电影| 亚洲国内高清视频| 亚洲精品中文字幕有码专区| 日韩成人av网址| 久久精品国产99国产精品澳门| 中文字幕欧美亚洲| 久久久噜久噜久久综合| 这里只有精品丝袜| 亚洲女同精品视频| 午夜剧场成人观在线视频免费观看| 在线观看日韩www视频免费| 欧美国产在线视频| 6080yy精品一区二区三区| 国产精品久久久久久久久免费| 久久精品国产2020观看福利| 久久99精品久久久久久噜噜| 欧美日韩中文字幕综合视频| 国产日韩在线一区| 国产丝袜一区二区三区免费视频| 在线观看国产精品日韩av| 国产欧美一区二区| 九九精品在线视频| 久久艹在线视频| 中文国产亚洲喷潮| 亚洲国产日韩欧美在线动漫| 日韩av在线免费播放| 成人自拍性视频| 国产丝袜高跟一区| 欧美精品videosex牲欧美| 色综合久综合久久综合久鬼88| 亚洲qvod图片区电影| 97超级碰碰碰| 国产亚洲aⅴaaaaaa毛片| 国产97在线|日韩| 色偷偷综合社区| 亚洲精品视频播放| 亚洲成人av资源网| 米奇精品一区二区三区在线观看| 一区二区中文字幕| 欧美与黑人午夜性猛交久久久| 亚洲免费av电影| 亚洲国产婷婷香蕉久久久久久| 欧美重口另类videos人妖| 91在线国产电影| 亚洲片av在线| 国产黑人绿帽在线第一区| 日本最新高清不卡中文字幕| 久久99精品国产99久久6尤物| 国产福利精品av综合导导航| 久久青草精品视频免费观看| 欧美在线视频播放| 国产在线精品一区免费香蕉| 国产精品视频中文字幕91| 久久成年人视频| 日韩高清不卡av| 91国偷自产一区二区三区的观看方式| 国产精品高潮在线| 亚洲精品综合精品自拍| 国产精品一区电影| 欧美性猛交xxxx乱大交3| 欧美日韩国产中字| 国产一区二区在线免费视频| 亚洲激情第一页| 麻豆精品精华液| 国产午夜一区二区| 91av在线国产| 久久久免费精品| 在线播放日韩欧美| 在线精品视频视频中文字幕| 国产日韩精品一区二区| 国产大片精品免费永久看nba| 精品久久久久久电影| 国产精品入口夜色视频大尺度| 91精品视频播放| 在线播放亚洲激情| 欧美精品成人91久久久久久久| www.欧美三级电影.com| 不卡av电影在线观看| 国产深夜精品福利| 日韩有码视频在线| 欧美性生交xxxxx久久久| 成人黄色av网站| 一本色道久久综合狠狠躁篇怎么玩|