LinkedList 淺析樣本,linkedlist淺析樣本

來源:互聯網
上載者:User

LinkedList 淺析樣本,linkedlist淺析樣本

package com.smbea.demo;import java.util.Iterator;import java.util.LinkedList;import java.util.List;import java.util.ListIterator;/** * 1、繼承自介面 List、Deque、Cloneable、Serializable; * 2、實現自類 AbstractSequentialList; * 3、由於繼承自抽象類別 AbstractSequentialList,故此元素是有順序的; * 4、增刪操作由於要移動元素,故此增刪比較慢; * 5、查詢操作由於採用的是索引,故此查詢比較快; * 6、非安全執行緒的-輕量級; * 7、由於實現了介面 Deque,故此不僅可以從前往後查詢元素,也可以從後向前查詢元素; * 8、由於實現了介面 Cloneable,故可以複製 LinkedList; * 9、由於實現了介面 Serializable,故可以被序列化 * @author hapday */public class LinkedListDemo {public static void main(String[] args) {elementRepeatableTest();elementSequentialTest();}/** * 驗證【元素可重複】 */public static void elementRepeatableTest() {List<String> chineseList = new LinkedList<String> ();chineseList.add("甲");chineseList.add("乙");chineseList.add("乙");chineseList.add("丙");chineseList.add("丁");List<String> englishList = new LinkedList<String> ();englishList.add("A");englishList.add("B");englishList.add("B");englishList.add("C");englishList.add("D");ListIterator<String> chineseIterator = chineseList.listIterator();// 支援逆序迭代Iterator<String> englishIterator = englishList.iterator();// 只支援順序迭代System.out.println("*** 順序輸出 ***");while(chineseIterator.hasNext()){System.out.print(chineseIterator.next() + " - ");}System.out.println("\n*** 逆序輸出  ***");while(chineseIterator.hasPrevious()) {System.out.print(chineseIterator.previous() + " - ");}System.out.println("\n*** chineseList 間隔插入 englishList 中的元素  ***");while(englishIterator.hasNext()){if(chineseIterator.hasNext()){chineseIterator.next();}chineseIterator.add(englishIterator.next()); // chineseList 間隔插入 englishList 中的元素}System.out.println(chineseList);englishIterator = englishList.iterator();System.out.println("\n*** englishList 每隔兩個元素刪除前一個元素  ***");while(englishIterator.hasNext()){englishIterator.next();if(englishIterator.hasNext()){englishIterator.next();englishIterator.remove();// remove() 方法和  next() 是成對出現的,並且每次刪除的都是 next() 的前一個元素}}System.out.println(englishList);System.out.println("\n*** 從 chineseList 中移除 englishList 的元素  ***");chineseList.removeAll(englishList);System.out.println(chineseList);}/** * 【元素有順序】 */public static void elementSequentialTest() {List<Integer> list = new LinkedList<Integer> ();for(int index = 1; index <= 100000; index++){list.add(index);// 加入 10 萬的元素}boolean exists = true;// 是否存在:true-存在;false-不存在int current = 0;// 當前元素int previous = 0;// 上一個元素Iterator<Integer> iterator = list.iterator();while(iterator.hasNext()){current = iterator.next();if(current < previous){exists = false;}previous = current;}System.out.println("\n*** 元素有順序  ***");System.out.print("是否有順序:" + exists);}}

  

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.