亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Java vector的詳解及實(shí)例

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

Vector 可實(shí)現(xiàn)自動(dòng)增長(zhǎng)的對(duì)象數(shù)組。

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

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

向量類提供了三種構(gòu)造方法:

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

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

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

插入功能:

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

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

例如:要插入整數(shù)1時(shí),不要直接調(diào)用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處的對(duì)象設(shè)置成obj,原來的對(duì)象將被覆蓋。

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

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

刪除功能:

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

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

(2)public final synchronized void removeAllElement();

刪除向量所有的對(duì)象

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

刪除index所指的地方的對(duì)象

查詢搜索功能:

(1)public final int indexOf(Object obj)

從向量頭開始搜索obj,返回所遇到的第一個(gè)obj對(duì)應(yīng)的下標(biāo),若不存在此obj,返回-1.

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

從index所表示的下標(biāo)處開始搜索obj.

(3)public final int lastindexOf(Object obj)

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

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

從index所表示的下標(biāo)處由尾至頭逆向搜索obj.

(5)public final synchornized firstElement()

獲取向量對(duì)象中的首個(gè)obj

(6)public final synchornized Object lastElement()

獲取向量對(duì)象的最后一個(gè)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);  
     //加入為字符串對(duì)象  
     v1.addElement("one");  
     //加入的為integer的對(duì)象  
     v1.addElement(integer1);  
     v1.addElement(integer1);  
     v1.addElement("two");  
     v1.addElement(new Integer(2));  
     v1.addElement(integer1);  
     v1.addElement(integer1);  
     //轉(zhuǎn)為字符串并打印  
      System.out.println("The Vector v1 is:\n\t"+v1);  
     //向指定位置插入新對(duì)象  
     v1.insertElement("three",2);  
     v1.insertElement(new Float(3.9),3);  
     System.out.println("The Vector v1(used method  
     insertElementAt()is:\n\t)"+v1);  
     //將指定位置的對(duì)象設(shè)置為新的對(duì)象  
      //指定位置后的對(duì)象依次往后順延  
      v1.setElementAt("four",2);  
      System.out.println("The vector v1 cused method setElmentAt()is:\n\t"+v1);  
      v1.removeElement(integer1);  
      //從向量對(duì)象v1中刪除對(duì)象integer1  
      //由于存在多個(gè)integer1,所以從頭開始。  
       //找刪除找到的第一個(gè)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)的方法取得向量對(duì)象的每個(gè)元素。  
       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));  
      //按不同的方向查找對(duì)象integer1所處的位置  
       v1.setSize(4);  
      System.out.println("The new Vector(resized the vector)is:"+v1);  
      //重新設(shè)置v1的大小,多余的元素被拋棄   
   }  
}  

運(yùn)行結(jié)果:

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(); 

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

方法:

public final synchronized void setsize(int newsize); 

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

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

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

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

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

Vector中提供方法:

public final synchronized Enumeration elements(); 


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

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

相關(guān)文章

  • 線程池ThreadPoolExecutor使用簡(jiǎn)介與方法實(shí)例

    線程池ThreadPoolExecutor使用簡(jiǎn)介與方法實(shí)例

    今天小編就為大家分享一篇關(guān)于線程池ThreadPoolExecutor使用簡(jiǎn)介與方法實(shí)例,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2019-03-03
  • SpringBoot配置MongoDB多數(shù)據(jù)源的方法步驟

    SpringBoot配置MongoDB多數(shù)據(jù)源的方法步驟

    這篇文章主要介紹了SpringBoot配置MongoDB多數(shù)據(jù)源的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • 面試必時(shí)必問的JVM 類加載機(jī)制詳解

    面試必時(shí)必問的JVM 類加載機(jī)制詳解

    這篇文章主要介紹了一文讀懂Jvm類加載機(jī)制,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2021-08-08
  • java ant 配置及構(gòu)建項(xiàng)目圖文教程

    java ant 配置及構(gòu)建項(xiàng)目圖文教程

    以下是對(duì)java ant配置及構(gòu)建項(xiàng)目進(jìn)行了詳細(xì)的分析介紹,需要的朋友可以過來參考下
    2013-08-08
  • 快速了解Java中ThreadLocal類

    快速了解Java中ThreadLocal類

    這篇文章主要介紹了快速了解Java中ThreadLocal類,介紹了ThreadLocal 是什么,ThreadLocal的作用,ThreadLocal 原理等相關(guān)內(nèi)容,具有一定參考價(jià)值,需要的朋友可以了解下。
    2017-11-11
  • IntelliJ?IDEA教程之clean或者install?Maven項(xiàng)目的操作方法

    IntelliJ?IDEA教程之clean或者install?Maven項(xiàng)目的操作方法

    這篇文章主要介紹了IntelliJ?IDEA教程之clean或者install?Maven項(xiàng)目的操作方法,本文分步驟給大家介紹兩種方式講解如何調(diào)試出窗口,需要的朋友可以參考下
    2023-04-04
  • 一篇文章帶你了解Java泛型的super和extends

    一篇文章帶你了解Java泛型的super和extends

    這篇文章主要介紹了Java泛型extends及super區(qū)別實(shí)例解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2021-08-08
  • 基于Mybatis Plus實(shí)現(xiàn)代碼生成器CodeGenerator

    基于Mybatis Plus實(shí)現(xiàn)代碼生成器CodeGenerator

    這篇文章主要介紹了基于Mybatis Plus實(shí)現(xiàn)代碼生成器CodeGenerator,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-08-08
  • Java Swing JButton按鈕的實(shí)現(xiàn)示例

    Java Swing JButton按鈕的實(shí)現(xiàn)示例

    這篇文章主要介紹了Java Swing JButton按鈕的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • java實(shí)現(xiàn)單鏈表中是否有環(huán)的方法詳解

    java實(shí)現(xiàn)單鏈表中是否有環(huán)的方法詳解

    本篇文章介紹了,用java實(shí)現(xiàn)單鏈表中是否有環(huán)的方法詳解。需要的朋友參考下
    2013-05-05

最新評(píng)論