Java集合框架(一)
集合:用來存放多種元素的一種類型。
框架:是一種結(jié)構(gòu)體系,有多個類構(gòu)成。
下面介紹兩種常用的集合,即Collection集合和Map集合。
Collection集合
| ? ? ? ? ? ?Collection(接口)? ? ? | ||||
| ?List(子接口) | ? ? ?Set(子接口) | |||
| ArrayList、LinkedList、Verctor | HashSet、TreeSet | |||
??如上表所示,Collection是個單列集合,一個接口,下面主要有List和Set兩個子接口,List子接口下面又包含ArrayList、LinkedList和Vector具體實現(xiàn)類;Set子接口下面主要有HashSet和TreeSet具體實現(xiàn)類。
說明:
List接口是有索引,而Set接口無索引;
HashSet里面元素是有序的,TreeSet里面元素是無序的;
ArrayList:動態(tài)數(shù)組,表示數(shù)組長度可變;
Vector 向量:基于數(shù)組實現(xiàn)的,但是已經(jīng)過時,現(xiàn)在都用ArrayList。
ArrayList和LinkedList 比較
ArrayList,LinkedList 使用方法完全一樣, 區(qū)別在于數(shù)據(jù)存儲方式不同,稱為不同的數(shù)據(jù)結(jié)構(gòu)。
| ?實現(xiàn)機制 | ? ? ? ?優(yōu)點 | ? ? ? ? 缺點 | |
| ArrayList | 基于數(shù)組實現(xiàn) | 連續(xù)存放,查找速度比較快。 | 增加元素或者刪除元素比較慢。 |
| LinkedList | 基于鏈表實現(xiàn) | 增加元素或刪除元素比較快 | 不連續(xù)存放,查找速度比較慢 |
一個ArrayList的示例
public?class?Test?{public?static?void?main(String[]?args)?{ArrayList<String>?al=new?ArrayList<String>();al.add("beijing");al.add("tianjin");al.add("shanghai");al.add(1,?"guangzhou");//在索引為1的位置上加入元素guangzhouShow1(al);al.set(1,?"廣州");//把索引為1的位置上元素修改為廣州System.out.println("*****************");Show2(al);System.out.println("*****************");al.remove(2);//刪除索引為2的元素,即tianjin,元素索引從0開始Show2(al); } /**兩種循環(huán)*/ //方法一:for循環(huán) public?static?void?Show1(ArrayList<String>?al){????for(int?i=0;i<al.size();i++){System.out.println(al.get(i));} } //方法二:iterator遍歷器遍歷 public?static?void?Show2(ArrayList<String>?al){Iterator<String>?it=al.iterator();//相當(dāng)于元素指針while(it.hasNext())//判斷有沒有下一個{System.out.println(it.next());}} }運行結(jié)果如圖
下篇博文再介紹Map集合。
轉(zhuǎn)載于:https://blog.51cto.com/zhangyh8856643/1829364
總結(jié)
以上是生活随笔為你收集整理的Java集合框架(一)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 软件测试面试总结
- 下一篇: Java处理某些图片红色问题