是否可以在没有迭代的情况下对Hashset中的对象执行操作

时间:2018-05-21 13:17:42

标签: java hashmap iteration hashset

如果有任何方法我们可以在Hashset中调用一个对象的方法,它本身就是Hashmap中的一个值,而不是一个迭代器或.forEach(lambda),或者以任何方式顺序遍历每个对象?

考虑我们有这样的Hashmap。 Map<Boolean,Set<Place>> selectedMap

考虑Place extends JComponent并有一个布尔值,表示用户是否使用鼠标选择了对象,该地图包含一个包含所有选定对象和所有未选对象的集合。

如果我们想要调用所有选定对象的remove - 方法,是否有办法以上述方式执行此操作?

1 个答案:

答案 0 :(得分:2)

如果您想为Set中的所有元素调用方法,则必须迭代Set的元素。

也就是说,在Java 8中,您可以使用forEach方法而不是显式循环:

selectedMap.get(true).forEach(Place::remove);

selectedMap.get(true).forEach(place -> place.remove(...));

如果remove()方法需要一些参数。