ユーザーのコレクションがあるとします。
List<User> users = ...;
今、リスト内のユーザーのすべてのIDを取得したいのですが、現在私はやっています:
for(User user : users) {
userIds.add(user.getId());
}
これを行うよりエレガントな方法はありますか?
Javaがlinqをサポートしていないことは知っているので、これが唯一の方法かもしれませんが、聞いてみようと思いました。
ユーザーのコレクションがあるとします。
List<User> users = ...;
今、リスト内のユーザーのすべてのIDを取得したいのですが、現在私はやっています:
for(User user : users) {
userIds.add(user.getId());
}
これを行うよりエレガントな方法はありますか?
Javaがlinqをサポートしていないことは知っているので、これが唯一の方法かもしれませんが、聞いてみようと思いました。
Google Guava Collections2 を使用
エレガント?
Collections2.transform(lists, new Function<User, UserId>(){
public UserId apply(@Nullable User user) {
return user.getId();
}
});
あなたはそれを正しくやっています。私が提案する他の唯一のことは、とを追加するNull Check
ことEmpty Check (optional)
です。users
userIds