如果有任何方法我们可以在Hashset中调用一个对象的方法,它本身就是Hashmap中的一个值,而不是一个迭代器或.forEach(lambda),或者以任何方式顺序遍历每个对象?
考虑我们有这样的Hashmap。 Map<Boolean,Set<Place>> selectedMap
考虑Place extends JComponent并有一个布尔值,表示用户是否使用鼠标选择了对象,该地图包含一个包含所有选定对象和所有未选对象的集合。
如果我们想要调用所有选定对象的remove
- 方法,是否有办法以上述方式执行此操作?
答案 0 :(得分:2)
如果您想为Set
中的所有元素调用方法,则必须迭代Set
的元素。
也就是说,在Java 8中,您可以使用forEach
方法而不是显式循环:
selectedMap.get(true).forEach(Place::remove);
或
selectedMap.get(true).forEach(place -> place.remove(...));
如果remove()
方法需要一些参数。