<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
ArrayList類相當於一個容量可變的動態陣列,當超過了他的大小時,類集自動增加,當物件被刪除後,陣列就可以縮小。
import java.util.*; public class ListDemo { public static void main(String args[]){ Collection c1 = new ArrayList();//範例化一個具體的子類物件 for(int i=0;i<5;i++){ c1.add(new Integer(i)); }//迴圈新增5個整型類物件 System.out.println("c1:"+c1); Collection c2 = new ArrayList(); c2.addAll(c1); c2.remove(new Integer(3)); c2.add("hehe"); System.out.println("c2:"+c2); Iterator it = c2.iterator(); while(it.hasNext()){ Object obj = it.next(); System.out.println("Iterator遍歷c2 "+obj+"t"); } } }
執行結果:
c1:[0, 1, 2, 3, 4]
c2:[0, 1, 2, 4, hehe]
Iterator遍歷c2 0
Iterator遍歷c2 1
Iterator遍歷c2 2
Iterator遍歷c2 4
Iterator遍歷c2 hehe
注:
Collection的列印結果以方括號括住,每個元素之間以逗號相隔。由ArrayList的結構特點可知,該類取出元素有較高的效率,但元素做刪除或插入操作較慢。
import java.util.LinkedList; public class LinkedListDemo { public static void main(String args[]) { LinkedList linkedList = new LinkedList(); linkedList.add("F"); linkedList.add("B"); linkedList.add("D"); linkedList.add("E"); linkedList.add("C"); System.out.println("顯示初始化後linklist的內容:" + linkedList); linkedList.addLast("Z"); linkedList.addFirst("AO"); linkedList.add(1, "AI"); System.out.println("顯示新增操作後linkedList內容:" + linkedList); linkedList.remove("F"); linkedList.remove(2); System.out.println("顯示刪除操作後的linkedList內容:" + linkedList); linkedList.removeFirst(); linkedList.removeLast(); System.out.println("顯示刪除操作後linkList內容:" + linkedList); Object object = linkedList.get(2); //修改內容 linkedList.set(2, (String) object + "Chaanged"); System.out.println("現實操作後linklist內容:" + linkedList); } }
執行結果:
顯示初始化後linklist的內容:[F, B, D, E, C]
顯示新增操作後linkedList內容:[AO, AI, F, B, D, E, C, Z]
顯示刪除操作後的linkedList內容:[AO, AI, D, E, C, Z]
顯示刪除操作後linkList內容:[AI, D, E, C]
現實操作後linklist內容:[AI, D, EChaanged, C]Process finished with exit code 0
注:
LinkedList容器類提供了一個連結列表資料結構,通過連線指標來關聯前後兩個元素。因為LinkedList是使用雙向連結串列實現的容器,所以針對頻繁的插入或刪除元素,它適合實現棧和佇列。
Vector類提供了實現了可增長陣列的功能,隨著更多元素加入其中,陣列變得更大,在刪除一些元素之後,陣列變小。Vector類的大多數操作和ArrayList類相同,區別之處在於Vector類是執行緒同步的。
import java.util.Vector; public class VectorDemo { public static void main(String args[]){ Vector v = new Vector(); v.add("one"); v.add("two"); v.add("three"); System.out.println("顯示向量初始值:"+v.toString()); v.insertElementAt("zero",0); v.insertElementAt("oop",3); System.out.println("顯示插入後向量值:"+v.toString()); v.setElementAt("three",3); v.setElementAt("four",4); System.out.println("顯示修改後元素向量值:"+v.toString()); v.removeAllElements(); System.out.println("顯示全刪除後向量值:"+v.toString()); } }
執行結果:
顯示向量初始值:[one, two, three]
顯示插入後向量值:[zero, one, two, oop, three]
顯示修改後元素向量值:[zero, one, two, three, four]
顯示全刪除後向量值:[]Process finished with exit code 0
註解:
Java的集合與陣列的區別在於,在建立Java陣列時,必須明確指定陣列的長度,陣列一旦建立,其長度就不能被改變。為了使程式能方便的儲存,檢索和操縱數目不固定的一組陣列,JDK類庫建立了Java集合,所有Java集合類都位於java.util包中。另外Java集合中不能存放基本型別資料,而只能存放物件的參照。
List 是有序的 Collection。
List 一共三個實現類分別是 ArrayList、Vector 和 LinkedList。
ArryList
底層通過陣列實現,允許對元素進行快速隨機存取,陣列的缺點是元素之間不能有間隔。當陣列大小不滿足時,需要增加儲存能力,即將已有陣列的資料複製到新的儲存空間。插入和刪除的代價較高,適合於隨機查詢和遍歷。執行緒是不安全的。排列有序,資料可重複Vector
底層通過陣列實現,支援執行緒的同步,即某一時刻只有一個執行緒能夠寫Vector,但實現同步的代價很高,存取速度比ArryList慢,執行緒安全但效率低。排列有序,資料可重複LinkList
底層用連結串列實現適於資料的動態插入和刪除,但隨即存取和遍歷的速度慢。排列有序,但資料不可重複。以上為個人經驗,希望能給大家一個參考,也希望大家多多支援it145.com。
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45