【问题标题】:Simple Java leaderboard from LinkedList来自 LinkedList 的简单 Java 排行榜
【发布时间】:2014-07-06 05:28:19
【问题描述】:

我目前正在开发此应用程序,用于跟踪跟踪(跟踪跟踪?)日运行并显示排行榜。这是一个类,所以我不一定要寻找代码,只是一些关于如何去做的想法。无论如何,应用程序当前将获取输入信息(来自底部文本字段),创建 RaceEntrant 对象的 LinkedList(如下所示的类),并在右侧创建一个队列,当参与者通过他们的运行时该队列被清空。问题是,我需要在(灰色)排行榜区域中从最小到最大运行时间对 RaceEntrants 进行排序。我在想是否有任何方法可以使用 LinkedList listIterator 方法来做到这一点,但我无法完全弄清楚,假设它甚至可以工作。这是正确的想法还是有更好的方法来解决这个问题,如果可能的话,我将如何处理 listIterator 的想法?很抱歉这个冗长的问题,任何帮助表示赞赏。

class RaceEntrant implements Comparable<RaceEntrant>
{
  private String name,
                 car;
  private double runTime;

  public RaceEntrant(String name, String car)
  {
    this.name = name;
    this.car = car;
  }    

  public String getName()
  {
    return name;
  }

  public String getCar()
  {
    return car;
  }   

  public double getTime()
  {
    return runTime;  
  }

  public void setTime(double time)
  {
      this.runTime = time;
  }

  @Override
  public String toString() 
  {
      StringBuilder sb = new StringBuilder("");
      sb.append(getName());
      sb.append("     ");
      sb.append(getCar());
      sb.append("\n" );
      sb.append("Best time: " + getTime() + "\n");
      return sb.toString();
  }

  @Override
  public int compareTo(RaceEntrant entrant) 
  {
      if (this.runTime > entrant.runTime)
          return 0;
      else
          return 1;
  }
}

【问题讨论】:

    标签: java swing linked-list leaderboard


    【解决方案1】:

    看看java.util.TreeSet - 它是SortetSet 的实现,应该做你想做的事。

    其他一些事情:

    1. 如果一个类实现了Comparable,它还应该覆盖hashCode()equals() 以确保正确性。 (通常equals() 将委托给compareTo() - 这意味着在equals() 中您将有类似return compareTo((RaceEntrant) obj) == 0 的行。
    2. 考虑创建Comparator 的实现以与TreeSet 一起使用,这样您就不必让RaceEntrant 实现Comparable
    3. TreeSet 将根据提供的 ComparatorComparable 在添加/删除元素时自动对其元素重新排序。

    【讨论】:

    • 干得好 gggggggguvna。这家伙 Q 中的 UI 是否让你想起了我在 uwa 的蓝色和棕色努力?
    • @wal 既然你提到了... :)
    猜你喜欢
    • 2020-10-21
    • 2015-06-22
    • 2013-03-30
    • 1970-01-01
    • 2017-09-07
    • 1970-01-01
    • 2018-10-03
    • 2013-04-01
    • 2021-05-14
    相关资源
    最近更新 更多