java - 如何在 Java vector 上使用 Ruby 风格的映射?

标签 java map

我觉得如果我知道我想做的事情的 Java 术语,Google 可以快速回答这个问题,但我不知道,所以我相信 Stack Overflow。 :)

我有一个 Object vector ,我想要一个 String 数组,其中包含 vector 中每个元素的字符串表示形式,通过调用 生成>toString() 在每个元素上。

在 Ruby(或 Perl,或 Python,或 Scheme,或数百万种具有 map 方法的其他语言中的任何一种)中,我会这样做:

vector.map(&:to_s) do |string|
  # do stuff
end

我怎样才能在 Java 中做同样的事情?我想写这样的东西:

Vector<Object> vector = ...;
String[] strings = vector.map(somethingThatMagicallyCallsToString);

有什么想法吗?

最佳答案

如果可以,请输入 Guava , 你可以使用它的 transform 函数。

Iterable<String> strings = Iterables.transform(vector, Functions.toStringFunction());

transform 的第二个参数是 Function 接口(interface)的实例。通常你会编写你自己的实现,但 Guava 提供了 toStringFunction() 和其他一些。

关于java - 如何在 Java vector 上使用 Ruby 风格的映射?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6161712/

相关文章:

Java类可以编译但无法加载

java - 如何在undertow java中将OAuth2配置添加到swagger

java - gradle 无法检测到模块

c++ - map 初始化 : object code is 50 times larger than source code

具有并发访问的映射

java - 将 map 转换为列表

java - 如何动态提取字符串的某些部分

Java 帮助使用模式操作 anchor

ruby - 组合数组中的元素(RubyMonk 第 6 章第 1 课)

java - 遍历/更新 HashMap