最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java vector的詳解及實例

 更新時間:2017年03月03日 14:55:45   投稿:lqh  
這篇文章主要介紹了Java vector的詳解及實例的相關資料,需要的朋友可以參考下

Vector 可實現(xiàn)自動增長的對象數(shù)組。

java.util.vector提供了向量類(vector)以實現(xiàn)類似動態(tài)數(shù)組的功能。在Java語言中沒有指針的概念,但如果正確靈活地使用指針又確實可以大大提高程序的質量。比如在c,c++中所謂的“動態(tài)數(shù)組”一般都由指針來實現(xiàn)。為了彌補這個缺點,Java提供了豐富的類庫來方便編程者使用,vector類便是其中之一。事實上,靈活使用數(shù)組也可以完成向量類的功能,但向量類中提供大量的方法大大方便了用戶的使用。 

    創(chuàng)建了一個向量類的對象后,可以往其中隨意插入不同類的對象,即不需顧及類型也不需預先選定向量的容量,并可以方便地進行查找。對于預先不知或者不愿預先定義數(shù)組大小,并且需要頻繁地進行查找,插入,刪除工作的情況??梢钥紤]使用向量類。

向量類提供了三種構造方法:

public vector() 
public vector(int initialcapacity,int capacityIncrement) 
public vector(int initialcapacity) 

使用第一種方法系統(tǒng)會自動對向量進行管理,若使用后兩種方法。則系統(tǒng)將根據(jù)參數(shù),initialcapacity設定向量對象的容量(即向量對象可存儲數(shù)據(jù)的大?。?,當真正存放的數(shù)據(jù)個數(shù)超過容量時。系統(tǒng)會擴充向量對象存儲容量。

參數(shù)capacityincrement給定了每次擴充的擴充值。當capacityincrement為0的時候,則沒次擴充一倍,利用這個功能可以優(yōu)化存儲。在Vector類中提供了各種方法方便用戶的使用:

插入功能:

(1)public final synchronized void adddElement(Object obj) 

將obj插入向量的尾部。obj可以是任何類型的對象。對同一個向量對象,亦可以在其中插入不同類的對象。但插入的應是對象而不是數(shù)值,所以插入數(shù)值時要注意將數(shù)組轉換成相應的對象。

例如:要插入整數(shù)1時,不要直接調用v1.addElement(1),正確的方法為:

Vector v1 = new Vector(); 
Integer integer1 = new Integer(1); 
v1.addElement(integer1); 

(2)public final synchronized void setElementAt(Object obj,int index)

將index處的對象設置成obj,原來的對象將被覆蓋。

(3)public final synchronized void insertElement(Object obj,int index)

在index指定的位置插入obj,原來對象以及此后的對象依次往后順延。

刪除功能:

(1)public final synchronized void removeElement(Object obj)

從向量中刪除obj,若有多個存在,則從向量頭開始試,刪除找到的第一個與obj相同的向量成員。

(2)public final synchronized void removeAllElement();

刪除向量所有的對象

(3)public fianl synchronized void removeElementAt(int index)

刪除index所指的地方的對象

查詢搜索功能:

(1)public final int indexOf(Object obj)

從向量頭開始搜索obj,返回所遇到的第一個obj對應的下標,若不存在此obj,返回-1.

(2)public final synchronized int indexOf(Object obj,int index)

從index所表示的下標處開始搜索obj.

(3)public final int lastindexOf(Object obj)

從向量尾部開始逆向搜索obj.

(4)public final synchornized int lastIndex(Object obj,int index)

從index所表示的下標處由尾至頭逆向搜索obj.

(5)public final synchornized firstElement()

獲取向量對象中的首個obj

(6)public final synchornized Object lastElement()

獲取向量對象的最后一個obj

例子:VectorApp.Java

import java.util.Vector;  
import java.lang.*;  
import java.util.Enumeration;  
public class VectorApp  
{  
   public static void main(String args[])  
   {  
     Vector v1 = new Vector();  
     Integer integer1= new Integer(1);  
     //加入為字符串對象  
     v1.addElement("one");  
     //加入的為integer的對象  
     v1.addElement(integer1);  
     v1.addElement(integer1);  
     v1.addElement("two");  
     v1.addElement(new Integer(2));  
     v1.addElement(integer1);  
     v1.addElement(integer1);  
     //轉為字符串并打印  
      System.out.println("The Vector v1 is:\n\t"+v1);  
     //向指定位置插入新對象  
     v1.insertElement("three",2);  
     v1.insertElement(new Float(3.9),3);  
     System.out.println("The Vector v1(used method  
     insertElementAt()is:\n\t)"+v1);  
     //將指定位置的對象設置為新的對象  
      //指定位置后的對象依次往后順延  
      v1.setElementAt("four",2);  
      System.out.println("The vector v1 cused method setElmentAt()is:\n\t"+v1);  
      v1.removeElement(integer1);  
      //從向量對象v1中刪除對象integer1  
      //由于存在多個integer1,所以從頭開始。  
       //找刪除找到的第一個integer1.  
      Enumeration enum = v1.elements();  
      System.out.println("The vector v1 (used method removeElememt()is");  
      while(enum.hasMoreElements())  
      System.out.println(enum.nextElement()+"");  
      System.out.println();  
      //使用枚舉類(Enumeration)的方法取得向量對象的每個元素。  
       System.out.println("The position of Object1(top-to-botton):"+v1.indexOf(integer1));  
      System.out.println("The position of Object1(tottom-to-top):"+v1.lastIndexOf(integer1));  
      //按不同的方向查找對象integer1所處的位置  
       v1.setSize(4);  
      System.out.println("The new Vector(resized the vector)is:"+v1);  
      //重新設置v1的大小,多余的元素被拋棄   
   }  
}  

運行結果:

E:\java01>java VectorApp 
The vector v1 is:[one,1,1,two,2,1,1] 
The vector v1(used method insetElementAt()) is: 
[one,1,three,3.9,1,two,2,1,1] 
The vector v1(used method setElementAt()) is: 
[one,1,four,3.9,1,two,2,1,1] 
The vector v1(useed method removeElement()) is: 
one four 3.9 1 two 2 1 1 
The position of object1(top-to-botton):3 
The position of object1(botton-to-top):7 
The new Vector(resized the vector) is: 
[one,four,3.9,1] 

(1)類vector定義了方法

public final int size(); 

此方法用于獲取向量元素的個數(shù)。它們返回值是向量中實際存在的元素個數(shù),而非向量容量??梢哉{用方法capacity()來獲取容量值。

方法:

public final synchronized void setsize(int newsize); 

此方法用來定義向量的大小,若向量對象現(xiàn)有成員個數(shù)已經超過了newsize的值,則超過部分的多余元素會丟失。

(2)程序中定義Enumeration類的一個對象Enumeration是java.util中的一個接口類,

在Enumeration中封裝了有關枚舉數(shù)據(jù)集合的方法。

在Enumeration提供了方法hasMoreElement()來判斷集合中是否還有其他元素和方法nextElement()來判斷集合中是否還有其他

元素和方法nextElement()來獲取下一個元素。利用這兩個方法,可以依次獲得集合中的元素。

Vector中提供方法:

public final synchronized Enumeration elements(); 


此方法將向量對象對應到一個枚舉類型。java.util包中的其他類中也都有這類方法,以便于用戶獲取對應的枚舉類型。

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

相關文章

  • MybatisPlus多表查詢及分頁查詢完整代碼

    MybatisPlus多表查詢及分頁查詢完整代碼

    這篇文章主要介紹了MybatisPlus多表查詢及分頁查詢完整代碼,本文通過示例代碼給大家介紹的非常詳細,感興趣的朋友跟隨小編一起看看吧
    2024-08-08
  • MyBatisPlus分頁時排序的實現(xiàn)

    MyBatisPlus分頁時排序的實現(xiàn)

    本文主要介紹了MyBatisPlus分頁時排序的實現(xiàn),文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • 解決java.net.SocketTimeoutException: Read timed out的問題

    解決java.net.SocketTimeoutException: Read timed out的問題

    這篇文章主要介紹了解決java.net.SocketTimeoutException: Read timed out的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • Java強制類型轉換原理詳解(父類轉子類、子類轉父類)

    Java強制類型轉換原理詳解(父類轉子類、子類轉父類)

    這篇文章主要給大家介紹了關于Java強制類型轉換原理(父類轉子類、子類轉父類)的相關資料,所謂的強制類型轉換,其實是自動類型轉換的逆過程,在數(shù)據(jù)類型兼容的情況下,將容量大的數(shù)據(jù)類型轉換為容量小的數(shù)據(jù)類型,需要的朋友可以參考下
    2023-12-12
  • Java線程池FutureTask實現(xiàn)原理詳解

    Java線程池FutureTask實現(xiàn)原理詳解

    這篇文章主要介紹了Java線程池FutureTask實現(xiàn)原理詳解,小編覺得還是挺不錯的,具有一定借鑒價值,需要的朋友可以參考下
    2018-02-02
  • Java實用工具庫commons-lang3的使用

    Java實用工具庫commons-lang3的使用

    Apache?Commons?Lang?3是一個流行的Java實用工具庫,提供了對java.lang包的擴展,包括字符串操作、正則表達式處理、數(shù)字操作、日期和時間操作、隨機字符串生成和對象操作等功能
    2025-03-03
  • Spring?Boot項目如何使用Maven打包并帶上依賴

    Spring?Boot項目如何使用Maven打包并帶上依賴

    在這篇博客中,介紹如何使用Maven將Spring?Boot項目及其依賴項打包成一個可執(zhí)行的jar文件。我們將使用Spring?Boot的spring-boot-maven-plugin插件來完成這個任務,感興趣的朋友跟隨小編一起看看吧
    2023-06-06
  • SpringBoot監(jiān)控Tomcat活動線程數(shù)來判斷是否完成請求處理方式

    SpringBoot監(jiān)控Tomcat活動線程數(shù)來判斷是否完成請求處理方式

    這篇文章主要介紹了SpringBoot監(jiān)控Tomcat活動線程數(shù)來判斷是否完成請求處理方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • JAVA校驗之@Valid和@Validated實踐指南

    JAVA校驗之@Valid和@Validated實踐指南

    在Java開發(fā)中參數(shù)校驗是保障程序健壯性的重要手段,@Valid和@Validated是兩個常用的校驗注解,但它們在使用場景、驗證方式和嵌套處理等方面存在顯著差異,這篇文章主要介紹了JAVA校驗之@Valid和@Validated的相關資料,需要的朋友可以參考下
    2025-07-07
  • springsecurity記住我登錄時訪問無權限接口跳轉登錄界面的處理方案

    springsecurity記住我登錄時訪問無權限接口跳轉登錄界面的處理方案

    這篇文章主要介紹了springsecurity記住我登錄時訪問無權限接口跳轉登錄界面的處理方案,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2024-02-02

最新評論

商河县| 安福县| 简阳市| 澄江县| 赤水市| 绩溪县| 重庆市| 曲靖市| 铜山县| 台山市| 峨山| 金寨县| 新民市| 阳朔县| 中西区| 合山市| 电白县| 赫章县| 石林| 达日县| 昌乐县| 盖州市| 龙海市| 淮南市| 扎赉特旗| 确山县| 顺昌县| 嵊州市| 辽中县| 军事| 八宿县| 临沂市| 大厂| 重庆市| 漠河县| 安康市| 萝北县| 富平县| 永兴县| 刚察县| 宣城市|