java – 收集集合中对象的属性
发布时间:2020-12-15 03:01:07 所属栏目:Java 来源:网络整理
导读:在C#中,我可以这样做: IEnumerablelong ids = things.select(x = x.Id); 在Java中我必须这样做: CollectionLong ids = new ArrayListLong(things.size());for(Thing x : things) ids.add(x.getId()); 现在必须做很多这样的事情并且想知道在Java中是否有更
在C#中,我可以这样做:
IEnumerable<long> ids = things.select(x => x.Id); 在Java中我必须这样做: Collection<Long> ids = new ArrayList<Long>(things.size()); for(Thing x : things) ids.add(x.getId()); 现在必须做很多这样的事情并且想知道在Java中是否有更通用的方法来做这件事.可以创建一个方法来做到这一点,但后来我将不得不添加一个getId方法的接口或类似的…我不能… 解决方法
使用
Guava,特别是
function interface:
public class ThingFunction implements Function<Thing,Long> { @Override public Long apply(Thing thing) { return user.getId(); } } 并且像这样调用(其中transform是来自guava的Collections2的静态导入: Collection<Long> ids = transform(things,new ThingFunction()); 番石榴也有相当多的other benefits. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |