当前位置: 首页 > 面试题库 >

如何提取列表中特定属性的所有元素?

黎阳冰
2023-03-14
问题内容

如何最好地获得以下结构的所有“名称”字符串元素:

class Foo {
    List<Bar> bars;
}

class Bar {
    private String name;
    private int age;
}

我的方法是:

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

for (Bar bar : foo.getBars()) {
    names.add(bar.getName());
}

这可能有效,但是Java中没有任何内容。Collections在这里我只可以写这样的:
Collections.getAll(foo.getBars(), "name");


问题答案:

使用Java 8:

List<String> names =        
    foo.getBars().stream().map(Bar::getName).collect(Collectors.toList());


 类似资料:
  • 问题内容: 我有一个对象列表。对象具有3个字符串属性。我想制作一个仅包含类中特定属性的列表。 有内置的功能可以做到这一点吗? 问题答案: 列表理解会很好地工作: 但是,由于您要求:-),所以有内置功能的组合。

  • 问题内容: 我有一个字典列表,它们在列表中都具有相同的结构。例如: 我想从列表中的每个字典中获取每个项目: 我当然可以遍历列表并使用for循环提取每个值: 但是我的数据集很大。我想知道是否有更快的方法。 问题答案: 如果只需要迭代一次值,请使用生成器表达式: 另一个(深奥的)选项可能与-一起使用-它可能会比生成器表达式快一点,或者不快一点,具体取决于情况: 而且,如果您绝对需要一个列表,则列表理解

  • 问题内容: 我需要获取所有CSS属性的元素列表。我怎样才能做到这一点 ? 问题答案: 从SO1004475复制源-jQueryCSS插件可返回元素的计算样式以伪克隆该元素?-如果您觉得有用,请点击链接并在那里进行评论。 看起来很荒谬,但这可能是您最好的选择- 不带任何参数的情况下,使用所有这些东西设置对象。 请注意,这不会捕获所有可能的CSS属性,尤其是CSS3的新属性。这是一个所有标准的CSS和

  • 现在我想从中得到一个,它包含。 我已经试过了(并期望能奏效): 但这与任何内容都不匹配(包含null)。 (我不想更改XML语法。)

  • 问题内容: 如果我有一个水果列表,其中包含各种实现,如,等。该列表是必需的,因为其他方法会对列表中的所有水果执行常规操作。 如何将特定类型的所有对象从列表中删除?例如所有的苹果?进行instanceof / if-else检查非常难看,尤其是在有许多不同的类时。 如何改善以下内容? 问题答案: 您应该知道-实例是不好的代码实践。 编写.getType()(返回的对象的枚举类型)怎么办?

  • 问题内容: 我试图通过将所有参数元素为type_id =“ 4218”的所有“ ”元素从URL解析XML文件? XML文件: 这是我的Java代码: 这段代码给了我所有元素,我不想要,我想要属性type_id =“ 4218”的所有元素! 问题答案: XPath是您的正确选择: 并遍历