【问题标题】:Simplies way to get value from Class List to String List从类列表获取值到字符串列表的最简单方法
【发布时间】:2014-01-29 12:10:51
【问题描述】:

我尝试将 List 中每个 TestClass 对象的值获取到新的字符串列表。

例如:

public class TestClass {

     private String testValue;

     // setter and getter
}

现在在不同的班级我会这样做:

List<TestClass> testClassList = getTestClassList();

List<String> testStringList = new ArrayList<String>();

for( TestClass testClass : testClassList ) {
     testStringList.add(testClass.getTestValue());
}

return testStringList;

我想知道有没有最简单的方法可以做到这一点?

【问题讨论】:

  • 不,您必须对其进行迭代。你的方法很好。
  • 如果你能像在 Perl 或 Python 中那样做某种从一个列表到另一个列表的映射会很好,但我认为在 Java 中没有任何紧凑的习语
  • 它将在 Java 8 中。

标签: java performance list class


【解决方案1】:

正如Maroun 提到的,不使用第三方库,您所遵循的方法是正确的方法。您需要遍历列表以填充其他列表。

但是,如果您不介意使用 3rd-party 库,那么,

您可以使用 Apache 的 CollectionUtils.collect() 方法以及 TransformerUtils.invokerTransformer() 方法。示例代码如下所示:

Collection<String> testValuesList = CollectionUtils.collect(testClassList, TransformerUtils.invokerTransformer("getTestValue"));

甚至Guava的Lists.transform()也可以使用,虽然我自己没有测试过。

【讨论】:

  • @ᴍarounᴍaroun - 因为它不再只是在 Stock Java 和 Me 之间;)
猜你喜欢
  • 2016-07-15
  • 1970-01-01
  • 2023-03-26
  • 1970-01-01
  • 1970-01-01
  • 2013-11-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多