建体彩网|中彩网双色球连号|
?
快捷搜索:  as  test  1111  test aNd 8=8  test++aNd+8=8  as++aNd+8=8  as aNd 8=8

澳門威尼人斯人最新網站:JAVA提高教程(8)認識List列表之Vector

?

Vector和ArrayList的最大年夜差別便是Vector的主要聚攏措施是線程同步的。

packagecollection.lession8;

importjava.util.Arrays;

importjava.util.Collection;

importjava.util.Enum澳門威尼人斯人最新網站eration;

importjava.util.Iterator;

importjava.util.List;

importjava.util.Vector;

/**

*老紫竹JAVA前進教程(8)-熟識List列表之Vector.

*Vector和ArrayList的最大年夜差別便是

*Vector的主要聚攏措施是線程同步的.

*

*留意:如下代碼絕大年夜部分和ArrayList代碼完全相同

*只是把ArrayList調換為Vector

*

*@author老紫竹

*

*/

publicclassLession8{

publicstaticvoidmain(String[]args){

testNormal();

testSpecial();

//一個最常見的差錯

testForProblem();

//測試Vector的特殊措施

testForVector();

}

publicstaticvoidtestForVector(){

//可以指定每次增添的容量尺寸

//初始化為100個,每次增添12個

Vectorv1=newVector(12,12);

v1.a澳門威尼人斯人最新網站dd(1);

v1.add(2.34);

v1.add("abc");

showList(v1);

//顯示容量

System.out.println("capicity="+v1.capacity());

//可以復制數據到數組

Object[]anArray=newObject[v1.size()];

v1.copyInto(anArray);

System.out.println(Arrays.toString(anArray));

//可以設置尺寸

//采納null進行位置添補

System.out.println("size="+v1.size());

v1.setSize(16);

System.out.println("size="+v1.size());

showList(v1);

//顯示容量

//可以看到容量已經增添了

System.out.println("capicity="+v1.capacity());

//得到羅列

Enumerationen=v1.elements();

//下面是一些相關的操作,我就不一個一個的寫了

//

//publicsynchronizedEfirstElement();

//publicsynchronizedElastElement();

//publicsynchronizedvoidsetElementAt(Eobj,intindex);

//publicsynchronizedvoidremoveElementAt(intindex);

//publicsynchronizedvoidinsertElementAt(Eobj,intindex);

//p澳門威尼人斯人最新網站ublicsynchronizedvoidaddElement(Eobj);

//publicsynchronizedbooleanremoveElement(Objectobj);

//publicsynchronizedvoidremoveAllElements();

}

publicstaticvoidtestNormal(){

//-------------------------------------------------------

//聲明一個列表

//容許放入任何數據

//-------------------------------------------------------

Vectorlist=newVector();

/澳門威尼人斯人最新網站/放入整數

//當然你用newInteger(1)也可以

list.add(1);

//放入字符串

list.add("abc");

//放入浮點數

list.add(newFloat(1.11));

//add會將數據保存到列表的尾部

showList(list);//1,abc,1.11]

//下面我們在列表的頭部增添數據

list.add(0,2);

list.add(0,"bcd");

list.add(0,newDouble(2.34));

//列表可以指定插入的位置

//0是頭部第一個位置,以是數據都逐個放到最前面了

showList(list);//[2.34,bcd,2,1,abc,1.11]

//下面我們插入到我們盼望的任何位置

//當然不能越界,(0到list.size()-1)范圍內才可以

list.add(1,3);

list.add(4,"xyz");

//數據被放到了精確的位置

showList(list);//[2.34,3,bcd,2,xyz,1,abc,1.11]

//-------------------------------------------------------

//我們有了數據,我們來測試讀取數據

//-------------------------------------------------------

//我們可以經由過程指定索引的位置,來拿到我們盼望的數據

System.out.println(list.get(0));//2.34

System.out.println(list.get(4));//xyz

//-------------------------------------------------------

//測試是否存在某個數據

//-------------------------------------------------------

System.out.println(list.contains("xyz"));//true

//測試是否包孕一組數據

Collectionc=newVector();

c.add(1);

c.add(2);

System.out.println(list.containsAll(c));//true

c.add(3);

c.add(4);

//containsAll_1234=false

System.out.println(list.containsAll(c));//false

//-------------------------------------------------------

//查找某個數據所在的索引位置

//假如不存在,返回-1

//-------------------------------------------------------

System.out.println(list.indexOf(3));//1

System.out.println(list.indexOf("xyz"));//4

System.out.println(list.indexOf("abcd"));//-1

//-------------------------------------------------------

//測試刪除數據

//請留意,

//假如你應用整數(int)數字,則默認調用的是remove(intindex);

//假如你用long,則會調用remove(Objectobj);

//以是假如你要刪除整數,請應用remove(newInteger(int));

//-------------------------------------------------------

//刪除索引為1的數據

list.remove(1);

//索引為1的數據被干掉落了

showList(list);//[2.34,bcd,2,xyz,1,abc,1.11]

//刪除數字1和字符串abc

list.remove(newInteger(1));

list.remove("xyz");

showList(list);//[2.34,bcd,2,abc,1.11]

//-------------------------------------------------------

//迭代器的應用

//-------------------------------------------------------

Iteratorit=list.iterator();

while(it.hasNext()){

System.out.print(it.next()+"");//2.34bcd2abc1.11

}

System.out.println();

//-------------------------------------------------------

//轉化為數組

//-------------------------------------------------------

Object[]objs=list.toArray();

for(Objectobj:objs){

System.out.print(obj+"");//2.34bcd2abc1.11

}

System.out.println();

}

publicstaticvoidtestSpecial(){

//-------------------------------------------------------

//測試重復和null

//------------------------------------澳門威尼人斯人最新網站-------------------

//

Listlist=newVector();

list.add(123);

list.add(456);

list.add(123);

list.add(456);

//數據容許重復

showList(list);//[123,456,123,456]

list.add(null);

list.add(789);

list.add(null);

list.add(999);

//容許放入多個null

showList(list);//[123,456,123,456,null,789,null,999]

//-------------------------------------------------------

//測試一下查找著末一次呈現的位置

//-------------------------------------------------------

System.out.println(list.indexOf(123));//0

System.out.println(list.lastIndexOf(123));//2

//-------------------------------------------------------

//轉化為數組

//記得要轉化為Inerger.

//-------------------------------------------------------

Integer[]nums=(Integer[])list.toArray(newInteger[0]);

//留意數據里面有null,以是輪回變量不要用int要用Integer

for(Integernum:nums){

System.out.print(num+"");//123456123456null789null999

}

System.out.println();

}

publicstaticvoidtestForProblem(){

//一些同伙在向輪回里向列表增添工具的時刻

//常常忘懷初始化,造成終極加入的都是同一個工具

Listlist=newVector();

MyObject2obj=newMyObject2();

for(inti=1;ilist2=newVector();

MyObject2obj2=null;

for(inti=1;i<=5;i++){

obj2=newMyObject2();

obj2.setName("Name"+i);

list2.add(obj2);

}

//里面的數據都是著末一個

showList(list2);//[Name1,Name2,Name3,Name4,Name5]

}

/**

*顯示List里面的數據。

*

*@paramlist

*/

privatestaticvoidshowList(Listlist){

System.out.println(Arrays.toString(list.toArray()));

}

}

classMyObject2{

privateStringname;

publicStringgetName(){

returnname;

}

publicvoidsetName(Stringname){

this.name=name;

}

/**

*重寫toString措施,輸出name

*/

publicStringtoString(){

returnname;

}

}

免責聲明:以上內容源自網絡,版權歸原作者所有,如有侵犯您的原創版權請告知,我們將盡快刪除相關內容。

您可能還會對下面的文章感興趣:

建体彩网
云南时时彩彩开奖结果走势图 体育投注新闻 全球最大彩票网站 足彩6场半全场历史开奖结果查询 36选7中奖号码 现在微信扫码怎么赚钱是真的吗 幸运农场玩法 188足球直播比分直播网 福彩开奖结果双色球145qi 高频彩秘籍