1

ユーザーのコレクションがあるとします。

List<User> users = ...;

今、リスト内のユーザーのすべてのIDを取得したいのですが、現在私はやっています:

for(User user : users) {
  userIds.add(user.getId());
}

これを行うよりエレガントな方法はありますか?

Javaがlinqをサポートしていないことは知っているので、これが唯一の方法かもしれませんが、聞いてみようと思いました。

4

2 に答える 2

2

Google Guava Collections2 を使用

エレガント?

        Collections2.transform(lists, new Function<User, UserId>(){
            public UserId apply(@Nullable User user) {
                return user.getId();
            }

        });
于 2012-10-16T16:48:00.977 に答える
0

あなたはそれを正しくやっています。私が提案する他の唯一のことは、とを追加するNull CheckことEmpty Check (optional)です。usersuserIds

于 2012-10-16T16:40:38.123 に答える