从array.sort()到compareTo()

时间:2016-04-22 04:38:00

标签: java sorting collections comparable compareto

我觉得我在另一个帖子中没有说清楚我的问题,所以我用这个来缩小我想要问的范围。

说我试图按作者名称对包含两条推文的数组进行排序:

   public class Tweet implements Comparable {
   private String mName;

  public Tweet(String name) {
   mName = name;
   }

     public int compareTo(Object obj) {
        Tweet tempArrays = [Tweet] arrays;
         return mName.compareTo(tempArrays.mName);
   }

    }

然后覆盖compareTo()然后

  Tweet new tweetOne = tweet("Andy")
  Tweet new tweetTwo = tweet("Bob")
  Array[] arrays = {tweetOne, tweetTwo}
  Array.sort(arrays);

最后一行大致转化为:

    return "Andy".compareTo("Bob");

到目前为止,感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

你的班级应该是这样的

  public class Tweet implements Comparable {
   private String mName;

  public Tweet(String name) {
     mName = name;
   }

   public int compareTo(Object obj) {
    Tweet tempTweet = (Tweet) obj;
     return mName.compareTo(tempTweet.mName);
   }
 }

然后你可以像这样对数组进行排序:

Tweet[] tweets = new Tweet[]{ Tweet("Andy"),Tweet("Bob")};

Arrays.sort(tweets);

希望这有帮助

相关问题