Java連載83-單向鏈表、雙向鏈表、collections經常使用方法

1、單向鏈表java

1.單向鏈表:每一個元素都稱爲節點(Entry),每一個節點都由兩部分組成node

2.單向鏈表的注意點:git

(1)單向鏈表每個節點在內存中存儲上在空間位置上是無規律的;github

(2)爲何單向鏈表的查詢效率變低​?由於單向鏈表中的每一個元素在空間的存儲位置上沒有規律,也沒有順序,那麼在查找某個元素的時候,必須從頭節點​挨着日後找,直到找到爲止。數組

(3)爲何單向鏈表的​增刪效率高?由於鏈表中每一個元素存儲空間是沒有順序的,刪除或者添加某個元素,只須要讓指針從新指向便可,不須要將其餘​元素進行惟一,因此隨機增刪效率高。微信

(4)僞代碼學習

 

public class Linked{

  //節點

  Entry entry;

  //內部類

  static class Entry{

    Object o;

    Entry next;

   }

}

 

(5)舉例代碼大數據

 

package com.bjpowernode.java_learning;

/**

 * 使用java語言用來模擬單向鏈表

 * @author lenovo1

 *

 */

public class D83_1_SingleLinkedList {

  public static void main(String[] args) {

   

  }

  //節點

  //Field

  Entry entry;

 

//  Constructor

  D83_1_SingleLinkedList(){

    //只有一個頭節點

    entry = new Entry(null,null);

  }

     

  //靜態內部類

  static class Entry{

    //Field

    Object data;

    Entry next;

    //Constructor

    Entry(){}

    Entry(Object data,Entry next){

      this.data = data;

      this.next = next;

    }

  }

}

 

2、雙向鏈表ui

1.雙向鏈表是一個環狀。this

2.雙向鏈表的注意點:

與單項鍊表的特色基本一致,查詢效率變低,可是增刪效率高

 

3.僞代碼

 

public class LinkedList{

  //節點

  Entry entry;

  //靜態內部類

  static class Entry{

    Entry previous;

    Object data;

    Entry next;

  }

}

 

3、Collections集合的經常使用方法

1.boolean add(Object element);向集合中添加某個元素

2.void clear();清空集合

3.boolean contains(Object o);判斷集合中是狗包含某個程序

4.boolean isEmpty();判斷集合是否含有元素

5.Iterator<E> iterator();獲取集合所依賴的迭代器對象

6.boolean remove(Object o);刪除集合中某個元素

7.boolean removeAll(Collection<?> c)

移除此collections中那些也包含在指定collections中的全部元素(可選操做)

8.boolean retainAll(Collections<?> c)

僅保留此collectionss中那些也包含在指定collections的元素(可選操做)

9.int size()​;返回此collections中的元素數

10.Object[] toArray() ;返回包含此collections中的全部元素的數組

11.<T> T[] toArray(T[] a)返回包含此collections中的全部元素的數組,​;返回數組的運行是類型與指定數組的運行時類型​相同。​

5、源碼:

D83_1_SingleLinkedList.java

D83_2_CollectionsCommonMethod.java

https://github.com/ruigege66/Java/blob/master/D83_1_SingleLinkedList.java

https://github.com/ruigege66/Java/blob/master/D83_2_CollectionsCommonMethod.java

2.CSDN:https://blog.csdn.net/weixin_44630050

3.博客園:https://www.cnblogs.com/ruigege0000/

4.歡迎關注微信公衆號:傅里葉變換,我的公衆號,僅用於學習交流,後臺回覆」禮包「,獲取大數據學習資料。

 

相關文章
相關標籤/搜索