如何遍历列表以仅获取特定属性
How to iterate over a list to get specific attributes only
我有一个列表
List<Widget> specialWidgets = WidgetUtil.getInstance().findAllWidgetsForType(WidgetType.UNIQUE);
其中 returns 包含小部件 ID 和名称的列表
[Widget [id=4f90b95d-8eb3-41e0-b3b1-d9ea516e1012, name=blue widget]
如何使用 java 7 将 ID 放入列表中?
您需要遍历刚刚从服务收到的列表,从每个 Widget 对象中提取 ID 字段并将该信息推送到另一个 List 对象中。
List<Guid> specialWidgetsIds = new List<Guid>();
foreach (Widget w in specialWidgets) {
specialWidgetsIds.Add(w.id);
}
我认为您应该创建新列表,然后将 specialWidgets 中的 ID 添加到新列表
- 如果你使用的是jkd8,使用lambda表达式进行转换
List specialWidgetIds = WidgetUtil.getInstance().findAllWidgetsForType(WidgetType.UNIQUE).stream().map(p -> p.getId()).collect(Collectors.toList ());
- 如果您使用的是jdk7、jdk6...
就照 pkamathk 的建议去做吧。
我有一个列表
List<Widget> specialWidgets = WidgetUtil.getInstance().findAllWidgetsForType(WidgetType.UNIQUE);
其中 returns 包含小部件 ID 和名称的列表
[Widget [id=4f90b95d-8eb3-41e0-b3b1-d9ea516e1012, name=blue widget]
如何使用 java 7 将 ID 放入列表中?
您需要遍历刚刚从服务收到的列表,从每个 Widget 对象中提取 ID 字段并将该信息推送到另一个 List 对象中。
List<Guid> specialWidgetsIds = new List<Guid>();
foreach (Widget w in specialWidgets) {
specialWidgetsIds.Add(w.id);
}
我认为您应该创建新列表,然后将 specialWidgets 中的 ID 添加到新列表
- 如果你使用的是jkd8,使用lambda表达式进行转换
List specialWidgetIds = WidgetUtil.getInstance().findAllWidgetsForType(WidgetType.UNIQUE).stream().map(p -> p.getId()).collect(Collectors.toList ());
- 如果您使用的是jdk7、jdk6... 就照 pkamathk 的建议去做吧。