如何迭代列表以仅获取特定属性

时间:2015-10-01 02:21:31

标签: java arrays collections iterator listiterator

我有一个清单

List<Widget> specialWidgets = WidgetUtil.getInstance().findAllWidgetsForType(WidgetType.UNIQUE);

返回包含小部件ID和名称的列表

[Widget [id=4f90b95d-8eb3-41e0-b3b1-d9ea516e1012, name=blue widget]

如何使用java 7将id放入列表中?

3 个答案:

答案 0 :(得分:1)

您需要遍历从服务中收到的列表,从每个Widget对象中提取ID字段并将该信息推送到另一个List对象中。

List<Guid> specialWidgetsIds = new List<Guid>();

foreach (Widget w in specialWidgets) {
    specialWidgetsIds.Add(w.id);
}

答案 1 :(得分:0)

我认为您应该创建新的List,然后将specialWidgets中的id添加到新的List

答案 2 :(得分:0)

  • 如果您使用的是jkd8,请使用lambda表达式进行转换

列出specialWidgetIds = WidgetUtil.getInstance()。findAllWidgetsForType(WidgetType.UNIQUE)。stream()。map(p - &gt; p.getId())。collect(Collectors.toList());

  • 如果您使用的是jdk7,jdk6 ...... 就像pkamathk的建议一样。