【问题标题】:Java, getting the LinkedList without an objectJava,获取没有对象的 LinkedList
【发布时间】:2017-12-25 13:01:43
【问题描述】:

我正在为扩展 LinkedList 的 LinkedListSet 做一个实现。 我的类中没有 LinkedList 对象,只是使用其中的方法。 该类有 2 个构造函数,一个没有参数,一个有 Comparator 参数。 我的问题是当我用比较器实例化一个对象时。 我的解决方案是在我的列表中添加一个元素后使用 Collections.sort (LinkedList, Comparator),但我不知道如何在没有对象的情况下获取我的 LinkedList,并将 Collections.sort 应用于它。

【问题讨论】:

  • “我的班级没有 LinkedList 对象,...”是的,你有,this
  • 你得到它如上所述 - this
  • 请阅读 Joshua Bloch "Effective java" 支持组合优于继承章节
  • 会做的,谢谢:)

标签: java collections


【解决方案1】:

你的类中的 LinkedList 对象是类本身的实例,this,因为你的类扩展了 LinkedList,它一个 LinkedList。将其用作排序方法的 LinkedList 参数:

Collections.sort (this, myComparator);

请注意,作为一般规则,您通常最好使用组合而不是继承。

【讨论】:

  • 使用合成会简单得多,但我尝试了一些我不舒服的方法,谢谢你的提示 :)
猜你喜欢
  • 1970-01-01
  • 2022-01-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-10
相关资源
最近更新 更多