我不知道任何现有的实现(不,我不认为普通的Java集合是侵入性的).

这可能是因为这个列表在Java中的唯一主要优点是当您已经有要删除的元素(并且在该位置没有迭代器)时,将快速的remove()调用.不复制的元素在Java中不是有效的参数,因为Java List实现仅处理引用(并且不会复制整个对象).

但是您可以通过创建必要的界面轻松地编写一个通用的List实现:

public interface IntrusiveListElement> {

public void setNext(E next);

public E getNext();

public void setPrev(E prev);

public E getPrev();

}

public class IntrusiveList> implements List {

// implement your run-of-the-mill double-linked list here

}

您的元素类可能如下所示:

public class MyBusinessElement implements IntrusiveListElement {

private MyBusinessElement prev;

private MyBusinessElement next;

public void setNext(MyBusinessElement next) {

this.next = next;

}

public MyBusinessElement getNext() {

return next;

}

public void setPrev(MyBusinessElement prev) {

this.prev = prev;

}

public MyBusinessElement getPrev() {

return prev;

}

}

java 侵入性_侵入式列表实现Java?相关推荐

  1. java 侵入性_侵入性和非侵入式指什么?

    摘自<Spring框架技术> Spring框架是一种非侵入式的轻量级框架 1.非侵入式的技术体现 允许在应用系统中自由选择和组装Spring框架的各个功能模块,并且不强制要求应用系统的类必 ...

  2. 如何java面试_短时间如何过java面试?

    这题我会!作为一个编程界老司机,我曾总结过一套Java常见的面试考点大全,不知道帮助过多少程序员拿下offer. 现在我把这套Java面试大全放出来,希望对大家有所帮助! 本文内容过长,建议大家先赞后 ...

  3. java安装_我最喜欢的Java高级开发人员书籍

    java安装 我上一篇博客文章(我对高级Java开发人员的十个最喜欢的在线资源)的想法,是由Xiaoran Wang发表的 "面向高级Java开发人员的十大网站"的启发. Wang ...

  4. 成为java高手_我如何想成为Java

    成为java高手 我喜欢Java. 我喜欢用Java编程. 但是在使用Python一段时间后,我希望对其进行一些更改. 它几乎纯粹是语法上的,因此可能有更好的JVM语言,但是我并不真正感兴趣,因为我仍 ...

  5. 高级java开发_我最喜欢的Java高级开发人员书籍

    高级java开发 我上一篇博客文章 (我对高级Java开发人员的十个最喜欢的在线资源)的想法,是由Xiaoran Wang发表的"面向高级Java开发人员的十大网站"的启发. Wa ...

  6. oracle java认证_如何通过Oracle的Java认证-开发人员实用指南

    oracle java认证 by javinpaul 由javinpaul 如何通过Oracle的Java认证-开发人员实用指南 (How to Pass Oracle's Java Certific ...

  7. java 中间件_从头到尾说一遍Java(中间件)垃圾回收

    之前上学的时候有这个一个梗,说在食堂里吃饭,吃完把餐盘端走清理的,是 C++ 程序员,吃完直接就走的,是 Java 程序员. 确实,在 Java 的世界里,似乎我们不用对垃圾回收那么的专注,很多初学者 ...

  8. java书籍_非科班,自学java需要把软件工程的课程全部学习完吗?

    问题一:非科班是否能自学Java.问题二:自学Java是否需要把软件工程课程全部学完?问题三:如何自学Java? 解决问题一:非科班是否能自学Java.不知道你是否有这个担心疑虑,从事Java技术开发 ...

  9. 灰色模型 java代码_灰色模型的简单Java实现

    前几天在以前的遗留代码中发现一个问题,就是我生成的一个数据的走势曲线的预测值(用于灰色时间序列预测)总是和老代码里的不一致,具体来说就是:遗留代码里面的预测值的斜率总是为零,相比之下我生成的就比较合理 ...

最新文章

  1. IDEA添加模块时,插件报错:java.util.NoSuchElementException Collection is empty
  2. 如何设置XMind思维导图线条
  3. 值类型、引用类型和泛型的前世今生
  4. E:Johnny and Grandmaster
  5. 通过mysql show processlist 命令检查mysql锁的方法
  6. java运行异常日志_使用log4j记录Java中的运行时异常
  7. 张高兴的 Windows 10 IoT 开发笔记:RTC 时钟模块 DS3231
  8. 数据结构课设——航空航天订票系统
  9. 许纪霖《中华传统文化30讲》读书笔记
  10. 拼装机器人感想_机器人实验心得体会
  11. 如何配置QQ邮箱或腾讯企业邮箱发送邮件
  12. VS2008 简体中文正式版序列号(到期解决办法)
  13. 非线性方程(组):一维非线性方程(一)二分法、不动点迭代、牛顿法 [MATLAB]...
  14. 看完一本青春小说后的感悟。
  15. 商标知识:食品行业商标注册应注册哪几个类别?
  16. 某保险公司商业智能成功应用案例
  17. C语言入门:根据三角形边长确定三角形为何种三角形
  18. 「TCG 规范解读」初识 TPM 的应用环境
  19. 芝士和奶酪一样吗_使用简单工厂设计模式就像制作芝士蛋糕一样
  20. 西门子828D数控系统主轴参数(不带编码器,只输出电压信号)

热门文章

  1. 20 多个可以提高你Android开发技能的国外优秀开源 app
  2. 08年的最后一个夜晚
  3. Far planner 代码系列(33) 关于real_world_contour和contour_graph
  4. JavaScript当当购物车项目
  5. X-MAN丨华为郑叶来:不畏浮云遮望眼,做有信仰的云
  6. 再见 MySQL!这可能不再是一个哗众取宠的梗了
  7. 博弈五子棋(人机对战)算法改进
  8. 做销售,如何开发陌生市场?
  9. 【射频】Smith圆图阻抗匹配变化规律
  10. HDU 6187 Destroy Walls