日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java合集框架第一天

發布時間:2025/3/20 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java合集框架第一天 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????

文章目錄

1?collection接口

2? list接口

3 Iterator

4?Vertor

5? ArrayList

6?LinkedList

?

?

?

?

???


???????主體部分:

?????? (1)collection

????????? Java中有數字包裝類(Inteager),字符包裝類(String) . 其實也有對象的包裝類----用來裝對象的(通常是一類對象).這樣做的好處是:使用方法和屬性便于管理對象。

?????????這種包裝類叫做容器。 就想我們的水杯一樣,結果都有一定的差異。同樣容器由于數據結構的不同,也有很多類型。他們的父類是collection接口,里面有不少方法。

?????????這些是容器共有的方法,比如:add(),remove(); ?collection又可以分為二大類。該文章介紹list

??????????? collection???????????????

?????????????? ?|_list

??????????????? |_set

?????? 容器的特點

?????????????? (1)只能存儲對象,不能是基本數據類型

?????????????? (2)長度不是固定的---比數組靈活

?????????????? (3)都有自己的數據結構

????(2)List:

????????表面上看"列表", 它也是一個接口,他的子類都是List系類的容器(集合)

??????? List 接口方法和collection差不多,多出來的就是list體系的特點:通過index來訪問列表。比如:add(int index,Object o);remove(int index);//ect

??????? list----|_Vector

?????????????????|_ArrayList

???????????????? |_LinkedList

???????????????? |_其他

????(3)Iterator-----迭代器

??????? 作用:用來訪問集合中的對象,也是一個接口。里面只有3個方法,很重要。hasNext(),next(),remove();

????????? 注意這句話:每一個容器都有一個實現迭代器的內部類。而且控制通過iterator()獲取實體對象。

?????????? ListIterator 是Iterator子接口,同樣的道理,這里多出來的也就是通過index訪問元素的方法??梢詂rud,效果很猛。

???????? 待會重點說明怎么使用。

???? (4) Vector

??????? 說了那么多接口,終于來個具體的容器。

??????? Vector數據結構----數組類型----訪問速度較慢(crud)---被ArrayList取代

?????? 淘汰了,不多說了。

????????看代碼:

????????

public static void main(String[] args) {Vector v=new Vector();//添加對象---String---二種方法都可以。v.add("abc1");v.addElement("abc2");v.add("abc3");//使用迭代器遍歷。訪問對象for( Iterator it=v.iterator(); it.hasNext();){System.out.println(it.next());}}

  

???????? (5)ArrayList

????????????數據結構--數組

??????????? 特點:訪問速度快,查詢較慢,和Vector相似,所以取代Vector

???????????? 用法:

???????????

public static void main(String[] args) {List list=new ArrayList();list.add("abc1");list.add("abc2");list.add("abc3");Iterator it=list.iterator();while(it.hasNext()){Object obj=it.next();if(obj.equals("abc2"))list.add("abc0");//出現異常
}}

   上面出現異常,不能在迭代器遍歷是為容器增加object。此時ListIterator作用出來,使用這個迭代器add(E e)就沒有問題啦

?????

public static void main(String[] args) {List list=new ArrayList();list.add("abc1");list.add("abc2");list.add("abc3");ListIterator it=list.listIterator();while(it.hasNext()){Object obj=it.next();if(obj.equals("abc2"))it.add("abc0");}System.out.println(list); //[abc1, abc2, abc0, abc3]}

  說白了就是重寫了List里面的方法+自己的一些方法。

??????????(6)LinkedList

??????????? 數據結構---列表

????????????????? 方法豐富:

?????????????????? getFirst();

?????????????????? get(index);

???????????????????getLast();

?????????????????? removeFirst();

???????????????????set(int?index, E element); //替換

???????????????????????等

????????? ?code: 使用LinkedList模擬棧-----先進先出

????????????????????????

package cn.com.List;import java.util.LinkedList;public class ListDemo {public static void main(String[] args) {//使用LinkedList 模仿棧和隊列.//創建棧,myStack stack=new myStack();//進棧stack.add("abc1");stack.add("abc2");stack.add("abc3");//出棧while(stack.hasNext()){System.out.println(stack.get());}System.out.println("____________________________");//創建隊列 和上面類似
} //棧public static class myStack{private LinkedList list=null;public myStack(){list=new LinkedList();}public Boolean add(Object o){list.addFirst(o);return true;}public Object get(){return list.removeFirst();}public Boolean hasNext(){if(list.size()==0)return false;else return true;}}//隊列public static class Queue{private LinkedList list=null;public Queue(){list=new LinkedList();}public Boolean add(Object obj){list.addFirst(obj);return true;}public Object get(){return list.removeLast();}public Boolean hasNext(){if(list.size()==0)return false;else return true;}}}

  list系類介紹中三個主要的成員,下節說說set系類

?????注: 簡單總結,更多函數看看 api

?????????????

?

???????

????????

?????

轉載于:https://www.cnblogs.com/huang-1995/p/5886747.html

總結

以上是生活随笔為你收集整理的java合集框架第一天的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。