容器第四课,JDK源代码分析,自己实现LinkedList,双向链表的概念_节点定义
来源:互联网 发布:轮播图原生js代码 编辑:程序博客网 时间:2024/06/06 18:27
package com.pkushutong.Collection;public class Test03 {private Test03_01 first;//第一个节点private Test03_01 last;//最后一个节点private int size;public void add(Object obj){Test03_01 t = new Test03_01();if(first == null){t.setPrevious(null);t.setObj(obj);t.setNext(null);first = t;last = t;}else{//直接往last借点后增加新的节点t.setPrevious(last);t.setObj(obj);t.setNext(null);last.setNext(t);last = t;}size++;}public int size(){return size;}public Object get(int index){Test03_01 temp = node(index);return temp.obj;}public void remove(int index){Test03_01 temp = node(index);if(temp != null){Test03_01 up = temp.previous;Test03_01 down = temp.next;up.next = down;down.previous = up;size--;}}public void add(int index,Object obj){Test03_01 temp = node(index);Test03_01 newTest03_01 = new Test03_01();newTest03_01.obj = obj;if(temp != null){Test03_01 up = temp.previous;up.next = newTest03_01;newTest03_01.previous = up;newTest03_01.next = temp;temp.previous = newTest03_01;size++;}}private Test03_01 node(int index) {Test03_01 temp = null;if(first != null){temp = first;for(int i=0; i<index; i++){temp = temp.next;}}return temp;}public static void main(String[] args) {Test03 list = new Test03();list.add("123");list.add("234");list.add("345");//list.remove(1);list.add(1, "aaaa");System.out.println(list.get(1));}}
package com.pkushutong.Collection;/** * 用来表示一个节点 * @author dell * */class Test03_01{Test03_01 previous;Object obj;Test03_01 next;public Test03_01() {}public Test03_01(Test03_01 previous, Object obj, Test03_01 next) {super();this.previous = previous;this.obj = obj;this.next = next;}public Test03_01 getPrevious() {return previous;}public void setPrevious(Test03_01 previous) {this.previous = previous;}public Object getObj() {return obj;}public void setObj(Object obj) {this.obj = obj;}public Test03_01 getNext() {return next;}public void setNext(Test03_01 next) {this.next = next;}}
0 0
- 容器第四课,JDK源代码分析,自己实现LinkedList,双向链表的概念_节点定义
- 103-104_容器_JDK源代码分析_自己实现LinkedList
- 自己实现Java中基于双向链表的LinkedList
- LinkedList,双向链表的实现
- 101-102_容器_JDK源代码分析_自己实现ArrayList
- LinkedList源码分析:双向循环链表实现
- JDK中LinkedList的实现分析
- Java LinkedList双向链表源码分析
- LinkedList源代码的分析
- Java-----Collection 实现的LinkedList(双向链表)
- [java数据结构]--java双向链表LinkedList的简单实现
- 双向链表的概念及实现
- 简单实现 linkedList 双向链表
- 利用双向链表实现LinkedList
- 双向链表(LinkedList) java实现
- [数据结构]双向链表实现LinkedList
- 简单实现LinkedList(双向链表)
- LinkedList : 双向链表与实现
- GCD多线程
- HDU 1028 Ignatius and the Princess III
- 编写一个函数,将一个数字字符串转换成这个字符串对应的数字(包括正浮点数、负浮点数)
- Ubuntu 下安装 vim 时出现无法安装的问题
- 云计算的原动力
- 容器第四课,JDK源代码分析,自己实现LinkedList,双向链表的概念_节点定义
- 维棠播放器
- 2014年IT毕业生——年终总结与生存调查报告
- 异步加载 yepnope.js
- a href=#与 a href=javascript:void(0) 的区别
- 编写一个函数,将一个数字字符串转换成该字符串对应的数字(包括正整数、负整数)
- 解决centos安装openstack-trove后没有api-paste.ini trove-api.conf 和trove-guestagent.conf的问题
- GCD
- 容器第五课,Map和HashMap的基本用法,hashMap和HashTable的区别