如何在列表的每个元素上调用方法?

如何在列表的每个元素上调用方法?,第1张

如何在列表的每个元素上调用方法?

更新:

有关使用lambda表达式的Java8解决方案,请参见aaiezza的答案
Java 8之前的原始答案:

使用Guava可以实现效果,

Function
实现比您现有的更加冗长:

List<Car> cars = //...Function<Car, String> carsTonames = new Function<Car, String>() {   @Override   public String apply(Car car) {      return car.getName();   }}List<String> names = Lists.transform(cars, carsToNames);

(请记住,

Lists.transform
返回的视图将延迟应用该函数-
如果要立即复制,则需要将返回的列表复制到新列表中。)

因此,这并不能帮助您缩短代码,但是,这是实现Java所需效果的详细程度示例

编辑:
您可能会看看lambdaj,一个似乎可以满足您所寻找内容的库。我没有亲自尝试过,但是首页显示了以下示例:

List<Person> personInFamily = asList(new Person("Domenico"), new Person("Mario"), new Person("Irma"));forEach(personInFamily).setLastName("Fusco");


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5032311.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-15
下一篇 2022-11-15

发表评论

登录后才能评论

评论列表(0条)

保存