简体   繁体   English

从array.sort()到compareTo()

[英]from array.sort() to compareTo()

I felt like I didn't make my question clear enough in the other thread so I'm using this one to narrow down what I'm trying to ask. 我觉得我在另一个线程中提出的问题不够清楚,因此我正在使用这个问题来缩小要问的范围。

Say I'm trying to sort an array containing two tweets by the name of authors: 假设我正在尝试按作者姓名对包含两个推文的数组进行排序:

   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);
   }

    }

Then override compareTo() and then 然后覆盖compareTo()然后

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

Does the last line roughly translate to: 最后一行是否大致翻译为:

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

Thanks for your help so far. 感谢您一直以来的帮助。

Your class shall look like this 您的班级应如下所示

  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);
   }
 }

And then you can sort your array like this: 然后您可以像这样对数组进行排序:

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

Arrays.sort(tweets);

Hope this helps 希望这可以帮助

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM