2

我有一个对象集合,我想将其映射到另一个集合,对每个元素执行类似的例行操作。我想在并行线程中执行这些原子例程操作,并寻找一些可以帮助我的现成库:

Collection<X> source = // ...
Collection<Y> result = Threader.map(
  source,
  new Mapping<X, Y>() {
    @Override
    public Y map(X src) {
      // do something and return an instance of Y
    }
  }
);

我知道这很容易实现,但我不想重新发明轮子。你知道任何包含这样一个Threader类的库吗?

我认为Java 8 流会做类似的事情......

我向 Guava 提交了功能请求:https ://code.google.com/p/guava-libraries/issues/detail?id=1422

4

1 回答 1

2

功能性java 库可以做你想做的事。它提供了自己的集合类型,您可以将其转换为 java.util.Collection 或从 java.util.Collection 转换。集合类型具有映射操作,您可以为其提供自己的函数,以及该映射的并发策略。这里有一篇关于使用functionaljava 进行并行列表处理的好博文:

http://apocalisp.wordpress.com/2008/06/30/parallel-list-transformations/

于 2013-05-22T19:48:15.630 回答