java 简单链表
来源:互联网 发布:python 制作辅助 编辑:程序博客网 时间:2024/06/08 00:38
java中没有指针的概念,但是有对象的引用,java中链表的实现就是通过对象的引用实现的。下面是一个链表的简单实现
class Link {class Element {public Object value = null;public Element nextNode = null;}private Element header = null;public void add(Object node) {if (header == null) {header = new Element();header.value = null;header.nextNode = null;}Element element = new Element();element.value = node;element.nextNode = header.nextNode;header.nextNode = element;}public boolean remove(Object obj) {if (header == null) {return false;}Element pre = header;Element ele = header.nextNode;while(ele != null) {if (ele.value == obj) {pre.nextNode = ele.nextNode;return true;}pre = ele;ele = ele.nextNode;}return false;}public void clear() {header = null;}public boolean contains(Object obj) {if (header == null) {return false;}Element elm = header.nextNode;while(elm != null) {if (elm.value == obj) {return true;}elm = elm.nextNode;}return false;}public Element getElement(int index) {if (header == null) {return null;}if (index > (this.Size()-1) || index < 0) {return null;}int i = 0;Element ele = header.nextNode;while(ele != null) {if (i == index) {return ele;}i++;ele = ele.nextNode;}return null;}public int Size() {if (header == null) {return 0;}int size = 0;Element ele = header.nextNode;while(ele != null) {size++;ele = ele.nextNode;}return size;}public boolean checkLoop(){if (header==null) {return false;}int size = this.Size();if (size == 0) {return false; }Set<Element> set = new HashSet<Element>();for (int i = 0; i < size ;i ++) {Element el = getElement(i);if(!set.contains(el)) {set.add(el);}if(set.contains(el.nextNode)) {return true;}}return false; }}
- java 简单链表
- Java简单链表
- java实现简单链表
- Java实现简单链表
- java简单实现链表
- java简单链表实现
- java实现简单链表
- (25)Java实现简单的链表
- 单向链表的java简单实现
- [记录]Java---实现简单的链表
- java实现链表简单示例
- Java简单实现链表增删排
- Java链表的简单实现
- Java链表的简单实现
- java的双向链表简单实现
- [java数据结构]--java双向链表LinkedList的简单实现
- Java顺序表简单实现
- [Java]单向链表 ,循环链表的简单使用方法
- 控件播放视频,播放暂停循环等功能,以及画布的scratch缓冲处理视频
- Mapreduce过程深入学习
- jQuery 1.9 之后移除了 $.browser 的替代方法
- java -Xms -Xmx -XX:PermSize -XX:MaxPermSize
- 无锁编程 汇总
- java 简单链表
- ie6关于css的不兼容
- Ganglia3.1.7安装与配置
- 老子哦
- [转载]预处理器的预定义宏大全
- 进程与线程非常形象的图文解释
- Android异步处理系列文章索引
- rails3学习系列(一)环境安装---缺少包引入
- canvas讲解进阶篇二