package com.zl.ext.collection;
/** * @packagb:com.zl.ext.collection
* @author: fab
* @description:基於雙向鍊錶實現
* @date:
* @modified by:
*/public class mylinklist
}/**
* 建構函式
*/mylinklist()
/*** 新增元素,將元素新增在尾部,最為最後乙個節點
*/public void add(e e) else
size++;
}/**
* 獲得元素
* @return
*/public e get(int index)
/*** 移除元素
*/public boolean remove(int index)
//刪除節點的前乙個節點(node2)
nodepre=delnode.prev;
//刪除節點的後乙個節點(node4)
nodenext=delnode.next;
//判斷刪除節點是否為頭結點 如果為頭結點的情況下,則下乙個節點為頭結點
if (pre == null) else
//判斷刪除節點為否為尾節點 如果為尾節點的情況下,則前一節點為尾節點
if(next==null)else
delnode.item=null;
size--;
return true;
}/**
* 折半查詢
* @param index
* @return
*/private nodegetnode(int index) else
}public static void main(string args)
system.out.println(mylinklist.get(3));
mylinklist.remove(0);
system.out.println(mylinklist.get(3));
}}
手寫ArrayList集合
最近仔細的研究了下集合框架的原始碼,並完全手寫下來,這裡將每一步的進展記錄下來,歡迎指點。arraylist的構造器,分別為無參構造器 傳入初始大小的有參構造器 傳入乙個集合型別的有參構造器,這裡只介紹前面兩種常用的構造器。無參構造器 arraylist的底層實際就是使用陣列來實現的,我們建立乙個陣...
Java 手寫LinkedList集合
原尾節點object4的next節點為新新增的object new object new的prev節點為object4,object new的next節點為null 原object2的next節點為新新增的object new object new的prev節點為object2,object new...
怎麼手寫乙個簡單的List集合
list集合 手寫乙個簡單的list集合為自己呼叫並不是特別難,只需要定義乙個集合介面去提供所有方法的定義 如下 package com.myself.util public inte ce list 我們只需要去將自己需要的方法定義新增到介面中,由我們去提供實現類去實現該介面 從而可以使用乙個簡單...