-3

ユーザーの友人リストを自分のアプリケーションに追加して、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();
        }
4

2 に答える 2

2

メソッドを使用しCollections.sort()ます。これにはカスタムを作成する必要Comparatorがありますが、これに関する利用可能なチュートリアルが多数あります。
基本的に行うことは、Comparator をサブクラス化して 2 つのオブジェクトを比較Userし、名前に基づいて結果を返すことです。名前が文字列の場合、user1.name.compareTo(user2.name);文字列には既に比較メソッドがあるため、単に を返すことができます。

于 2012-12-18T19:15:31.480 に答える
0

リストをセットに変更する

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

これは、 が一意であることを前提としていますUser

User独自のクラスを記述できるように、クラスを独自のクラスでラップする必要がある場合がありますComparator

于 2012-12-18T18:44:48.967 に答える