麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

java筆記三:List接口

2019-11-17 03:27:39
字體:
來源:轉載
供稿:網友

  List承諾可以將元素維護在特定的序列中。List接口在Collection的基礎上添加了大量的方法,使得可以在List的中間插入和刪除元素。List與 set 不同,列表通常允許重復的元素。并且存放的順序與插入的順序一致。

  List接口的常用方法有:

  add(E o)   :將指定對象加入到列表中。

  add(int index, E element)  :將對象加入到指定位置處。

  addAll(Collection<? extends E> c)  :追加指定 collection 中的所有元素到此列表的結尾,順序是指定 collection 的迭代器返回這些元素的順序(可選操作)。

  addAll(int index, Collection<? extends E> c) :將指定 collection 中的所有元素都插入到列表中的指定位置(可選操作)。

  remove(int index) :移除某個位置上的元素。

  remove(Object o) : 移除列表中出現的首個指定元素。

  set(int index, E element) :用指定元素替換列表中指定位置的元素。

  size() :返回列表大小。
  .......

  常用的有兩種List類型:ArrayList和LinkedList。

  一、ArrayList

  ArrayList擅長于隨即訪問元素,因為它像數組一樣提供了下標,可以根據下標直接訪問,所以可以將ArrayList看作可擴充自身尺寸的數組。但是在ArrayList的中間插入和移除元素時較慢。

復制代碼
 1 package com.list; 2  3 import java.util.ArrayList; 4 import java.util.Iterator; 5 import java.util.List; 6  7 public class ArrayListTest { 8     public static void main(String[] args) { 9         List<String> list = new ArrayList<String>();10         //添加元素11         list.add("aaa");12         list.add("bbb");13         list.add("aaa");14         list.add("ddd");15         list.add("ccc");16         list.add(null);17         //遍歷18         for (String string : list) {19             System.out.PRintln(string);20         }21         System.out.println("---------------");22         //修改23         list.set(1, "bbb2");24         //刪除25         list.remove("ccc");26         //迭代器遍歷27         Iterator<String> iterator = list.iterator();28         while(iterator.hasNext()){29             System.out.println(iterator.next());30         }31         System.out.println("--------------");32         list.clear(); //清空列表33         System.out.println("清空后list的大小"+list.size());//打印大小34         List<String> list2 = new ArrayList<String>();35         list2.add("a");36         list2.add("b");37         //將list2添加到list中38         list.addAll(list2);39         //遍歷40         for (String string : list) {41             System.out.println(string);42         }43     }44 }
復制代碼

輸出結果為:

復制代碼
 1 aaa 2 bbb 3 aaa 4 ddd 5 ccc 6 null 7 --------------- 8 aaa 9 bbb210 aaa11 ddd12 null13 --------------14 清空后list的大小015 a16 b
復制代碼

由輸出結果的1-5行可以看出,list存放元素的順序與加入的順序一致。

  二、LinkedList

  LinkedList通過代價較低的在List中間進行插入和刪除操作,提供了優化的順序訪問。但是在隨即訪問方面相對比較慢。

  下面舉個例子來演示LinkedList和ArrayList隨即訪問的速度:

復制代碼
 1 package com.list; 2  3 import java.util.ArrayList; 4 import java.util.LinkedList; 5 import java.util.List; 6 import java.util.Random; 7  8 public class LinkedListTest { 9     public static void main(String[] args) {10         List<Integer> arraylist = new ArrayList<Integer>();11         for (int i = 0; i < 5000; i++) {12             arraylist.add(i);13         }14         List<Integer> linkedlist = new LinkedList<Integer>();15         for (int i = 0; i < 5000; i++) {16             linkedlist.add(i);17         }18         Random rand = new Random(5000);19         //隨機訪問arrayList20         long start = System.currentTimeMillis();21         for (long i = 0; i < 500000; i++) {22             arraylist.get(rand.nextInt(5000));23         }24         long end = System.currentTimeMillis();25         System.out.println("arrayList隨機訪問時間:"+(end - start));26         //隨機訪問arrayList27         start = System.currentTimeMillis();28         for (long i = 0; i < 500000; i++) {29             linkedlist.get(rand.nextInt(5000));30         }31         end = System.currentTimeMillis();32         System.out.println("linkedlist隨機訪問時間:"+(end - start));33     }34 }
復制代碼

程序運行結果為:

1 arrayList隨機訪問時間:202 linkedlist隨機訪問時間:2282


很明顯ArrayList隨即訪問比LinkedList快的多,因為LinkedList是以鏈表的現實存儲的。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 草久在线观看视频 | 国产精品久久久久久久亚洲按摩 | 成人一区二区三区四区 | 日本大片在线播放 | 亚洲一区二区三区高清 | 日韩中文字幕三区 | 性高跟鞋xxxxhd4kvideos | 亚洲综合一区在线观看 | 久久精品视频1 | 久久影城 | 成人免费av在线播放 | 欧美a∨一区二区三区久久黄 | 国产91丝袜在线播放 | 久久免费视频一区二区三区 | 九草视频 | tube69xxxxxhd| 欧美另类在线视频 | 欧美一级毛片大片免费播放 | 久久久久北条麻妃免费看 | 一级毛片免费版 | 国产精品1区2区 | 中文字幕在线网站 | 精品国产乱码一区二区三区四区 | 精品成人在线观看 | 亚洲一区二区三区高清视频 | 欧美在线观看视频网站 | 免费观看一区 | 久久久久久久久久久av | 国产精品久久久久久久久久久久久久久 | 欧美精品久久久久久久多人混战 | www中文在线 | 国产在线色 | 国产精品久久久久久久久久东京 | 亚a在线 | 精品亚洲一区二区三区 | 黄色特级一级片 | 欧美特黄a| 日本黄色一级电影 | 特黄一级小说 | 永久免费不卡在线观看黄网站 | 成人性视频欧美一区二区三区 |