【问题标题】:Java how to order a List in alphabetical order by one of its elementsJava如何按其元素之一按字母顺序排列列表
【发布时间】:2012-12-18 18:20:45
【问题描述】:

我正在尝试将用户朋友列表添加到我的应用程序中,以便他们可以快速找到他们在 twitter 上关注的人,目前我能够做到这一点,但结果会根据用户最近的人返回跟随但不是按我想要的字母顺序,有没有一种方法可以让我基本上获取列表列表并根据列表中的一个特定元素对整个列表进行排序?

编辑:抱歉完全忘记添加我的代码,我很抱歉

long cursor = -1;
        List<User> users = new ArrayList<User>();
        try {
            PagableResponseList<User> userGroups = null;
            do {
                userGroups = twitter.getFriendsList(app.getUserId(), cursor);
                for (User user : userGroups) {
                    users.add(user);
                }
            } while ((cursor = userGroups.getNextCursor()) != 0);

        } catch (TwitterException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

【问题讨论】:

  • 是的,有办法。但首先告诉使用你到目前为止所拥有的。
  • www.whathaveyoutried.com
  • 对不起,完全忘记添加代码,我的错误

标签: java android list sorting twitter4j


【解决方案1】:

使用Collections.sort() 方法。您必须为此创建一个自定义 Comparator,但有很多可用的教程。
您基本上所做的是将 Comparator 子类化以比较两个 User 对象,并根据名称返回结果。如果名字是字符串,你可以直接返回user1.name.compareTo(user2.name);,因为字符串已经有比较方法了。

【讨论】:

    【解决方案2】:

    将您的列表更改为集合

    Set<User> users = new TreeSet<User>();
    

    这假设您的Users 是唯一的。

    您可能必须用自己的类包装User 类,以便编写自己的Comparator

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-09-15
      • 2023-02-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多