【发布时间】:2018-07-17 16:33:57
【问题描述】:
我有一个看起来像这样的双端队列:
@Getter
private Deque<Map<int, String>> cars = new LinkedList<>();
我想仅使用密钥从地图的双端队列中删除每辆车。所以是这样的:
getCars().stream().forEach(car -> delete(car.keySet().iterator().next()));
有没有更好的方法来处理这个问题,而不必使用interator().next()?
【问题讨论】:
-
每辆车的地图内容是什么?这个问题有点不清楚,至少对我来说。您能分享一些示例数据和您想要得到的结果吗?
-
每辆车都可以有一个 int 值,比如 1,2,3,4 有点像一个 id。然后 String 可以是颜色等。内容真的不重要,只要我可以从地图中查明特定的汽车并根据我提供的 int 值将其删除
-
所以你想传递一个
int值并删除所有以该 int 作为键的汽车? -
没有。我想删除所有汽车而不必通过 int。但相反,遍历所有键并从双端队列中删除每辆车。通常当它只是一张地图时,我可以使用 keySet() 然后从那里删除所有汽车。
标签: java list dictionary data-structures