<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Rex

    ——生命不止,奮斗不息。
    posts - 27, comments - 8, trackbacks - 0, articles - 0
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    vector的詳細用法

    Posted on 2006-11-09 13:18 W.R 閱讀(698) 評論(0)  編輯  收藏 所屬分類: 開發日志
    ?1 import ?java.util. * ;
    ?2
    ?3 /**
    ?4 ?*?演示Vector的使用。包括Vector的創建、向Vector中添加元素、從Vector中刪除元素、
    ?5 ?*?統計Vector中元素的個數和遍歷Vector中的元素。
    ?6 ? */

    ?7
    ?8
    ?9 public ? class ?VectorDemo {
    10 ? public ? static ? void ?main(String[]?args) {
    11 ??
    12 ?? // Vector的創建
    13 ?? // 使用Vector的構造方法進行創建?
    14 ??Vector?v? = ? new ?Vector( 4 );
    15 ??
    16 ?? // 向Vector中添加元素
    17 ?? // 使用add方法直接添加元素
    18 ??v.add( " Test0 " );
    19 ??v.add( " Test1 " );
    20 ??v.add( " Test0 " );
    21 ??v.add( " Test2 " );
    22 ??v.add( " Test2 " );
    23 ??
    24 ?? // 從Vector中刪除元素
    25 ??v.remove( " Test0 " );? // 刪除指定內容的元素
    26 ??v.remove( 0 );??????? // 按照索引號刪除元素
    27 ??
    28 ?? // 獲得Vector中已有元素的個數
    29 ?? int ?size? = ?v.size();
    30 ??System.out.println( " size: " ?size);
    31 ??
    32 ?? // 遍歷Vector中的元素
    33 ?? for ( int ?i? = ? 0 ;i? < ?v.size();i + ) {
    34 ???System.out.println(v.get(i));
    35 ??}

    36 ?}

    37 }

    38
    java.util.vector
    ArrayList會比Vector快,他是非同步的,如果設計涉及到多線程,還是用Vector比較好一些;
    Vector 類提供了實現可增長數組的功能,隨著更多元素加入其中,數組變的更大。在刪除一些元素之后,數組變小。
    Vector 有三個構造函數,
    public Vector(int initialCapacity,int capacityIncrement)
    public Vector(int initialCapacity)
    public Vector()
      Vector 運行時創建一個初始的存儲容量initialCapacity,存儲容量是以capacityIncrement 變量定義的增量增長。初始的存儲容量和capacityIncrement 可以在Vector 的構造函數中定義。第二個構造函數只創建初始存儲容量。第三個構造函數既不指定初始的存儲容量也不指定capacityIncrement。
      Vector 類提供的訪問方法支持類似數組運算和與Vector 大小相關的運算。類似數組的運算允許向量中增加,刪除和插入元素。它們也允許測試矢量的內容和檢索指定的元素,與大小相關的運算允許判定字節大小和矢量中元素不數目。
      現針對經常用到的對向量增,刪,插功能舉例描述:
    addElement(Object obj)  
      把組件加到向量尾部,同時大小加1,向量容量比以前大1
    insertElementAt(Object obj, int index)  
      把組件加到所定索引處,此后的內容向后移動1 個單位
    setElementAt(Object obj, int index)
      把組件加到所定索引處,此處的內容被代替。
      removeElement(Object obj) 把向量中含有本組件內容移走。
      removeAllElements() 把向量中所有組件移走,向量大小為0。
      例如:
     
    ?1import?java.lang.System;
    ?2import?java.util.Vector;
    ?3import?java.util.Emumeration;
    ?4public?class?Avector{
    ?5????public?static?void?main(String?args[]){
    ?6????????Vector?v=new?Vector();?
    ?7????????v.addElement("one");?
    ?8????????v.addElement("two");
    ?9????????v.addElement("three");?
    10????????v.insertElementAt("zero",0);
    11????????v.insertElementAt("oop",3);
    12????????v.setElementAt("three",3);
    13????????v.setElementAt("four",4);
    14????????v.removeAllElements();
    15????}

    16}

    Vector中的變化情況:
    1. one   2. one   3. one   4. zero   5.zero   6. zero  7. zero???? 8.

         ??? two  ?????? two ?????????? one  ???? one  ??????? one  ????one
               three  ???? two  ???? two  ???????? two   two
                    three  ??? oop  ???????? three  three
                         three  ??????? three  four
     
      另外,Vector 在參數傳遞中發揮著舉足輕重的作用。
      在Applet 中有一塊畫布(Canvas) 和一個(Panel), 而Panel 中放著用戶要輸入的信息,根據這些信息把參數傳遞到canvas 中,這時在Java 中用一個接口(Interface), 而在接口中需用一個Vector 去傳遞這些參數。另外,在一個類向另一個類參數傳遞就可以用這種方法。
      例如:
     
    import java.util.Vector
    interface codeselect{
               Vector codeselect=new Vector();
                 }
    顯示數學信息
    Vector(0)存入學生編號
    Vector(1)存入學科
     
      在Panel 中當用戶在TextField 和Choice 中選擇自己所要求的內容,程序中
      通過事件響應把值傳到向量Vector 中。
      假若在Panel 類中:
    ?1public?void?codepanel?extends?Panel{
    ?2????public?void?init()?{?
    ?3????????TextField?s=new?TextField();
    ?4????????Choice?c=new?Choice();
    ?5????????c.?addItem("語文");
    ?6????????c.addItem("數學");
    ?7????????c.addItem("政治");
    ?8????????add(s);
    ?9????????add?(c);
    10????}

    11 
    12????public?boolean?handleEvent(Event?event){
    13????????if(event.id==Event.ACTION_EVENT){
    14??????????if(event.target.instanceof?Textfield)
    15??????????{
    16?????????????coderesult.setElementAt(s.getText(),0);
    17??????????}
    ?else?if(event.target?intanceof?Choice)?{
    18?????????????coderesult.setElementAt(new?Integer(c.getSelectedIndex()),1);
    19??????????}

    20????????}

    21????}

    22}

    這時,向量中已經存入學生編號和學科索引號(0 為語文,1 為數學,2 為政治)。
      而在Canvas 中得到此值,
    public?class?codecanvas?extends?Canvas{
    ????
    public?void?code{
    ????}

    ????
    public?void?paint{ 
    ?????????String?str;
    ????????
    int?t;
    ????????str
    =(String)coderesult.elementAt(0);
    ????????t
    =(new?Integer(codeselect.elementAt(1).toString())).intValue();
    ????????
    if(t==0)?{
    ?????????????
    //顯示語文信息
    ?????????}
    ?else?if(t==1){
    ?????????????
    //顯示數學信息 
    ?????????}

    ????????
    else?if(t==2)?{
    ?????????????
    //顯示政治信息
    ?????????}

    ????}

    }
     

    主站蜘蛛池模板: 亚洲av成人一区二区三区观看在线 | 亚洲精品国产情侣av在线| 日韩人妻无码免费视频一区二区三区 | 国产成人免费视频| xvideos永久免费入口| 亚洲一卡2卡三卡4卡无卡下载| 亚洲人成在线播放网站岛国| 久久久久久亚洲精品不卡| 免费观看日本污污ww网站一区| 国产精品美女午夜爽爽爽免费| 国产大片线上免费观看| 国产色无码精品视频免费| a免费毛片在线播放| 羞羞漫画在线成人漫画阅读免费 | 午夜电影免费观看| 久久笫一福利免费导航| 日本免费一区二区在线观看| 香蕉免费一区二区三区| 男人j进入女人j内部免费网站| 好猛好深好爽好硬免费视频| 一级成人生活片免费看| 免费人成视频在线观看免费| 国产精品亚洲专区一区| 最新亚洲人成无码网www电影| 亚洲精品永久在线观看| 亚洲熟妇无码八V在线播放 | 免费一级一片一毛片| 国产a不卡片精品免费观看| 国产免费一区二区三区VR| 国产成人青青热久免费精品| 日本免费人成黄页在线观看视频| 日韩成人在线免费视频| 国产精品四虎在线观看免费| 日韩亚洲国产二区| 亚洲伊人成无码综合网 | 亚洲午夜福利在线视频| 亚洲成aⅴ人片久青草影院按摩 | 亚洲精品国产高清不卡在线| 亚洲爽爽一区二区三区| 中文字幕人成人乱码亚洲电影| 亚洲国产精品无码久久一区二区|