【问题标题】:Remove an item from map从地图中删除项目
【发布时间】:2012-08-04 08:43:04
【问题描述】:

我在 Java 中创建了一个映射,例如 private Map<Integer, List<entity>> m,我如何删除留在列表中的项目?

我在 Map 中运行循环到 m.get(key).size() 并在条件为真时删除:
if (m.get(key).get(i).getID() = xxx); 删除子句 m.get(key).remove(i).

【问题讨论】:

  • 我在 Map 中运行循环到 m.get(key).size() 并在条件为真时删除: if (m.get(key).get(i).getID() = xxx);删除子句 m.get(key).remove(i)。这里有什么问题?
  • @Phúc 这对我来说似乎可行。它会抛出异常还是什么?还要检查this 问题以安全地从列表中删除。
  • 我在数据库中有两个具有 1-n 关系的表,表有关系 1 我填写到组合框中。它会过滤从 List 加载的数据表的数据,该表具有关系 n。我做了操作,但数据表没有更新,尽管我使用了 update="@this" 或更新"@form",并且我对 中的进程属性执行相同操作。
  • List 中的项目已成功删除,但未刷新数据表。请有人帮助我!

标签: java


【解决方案1】:

我会检查地图条目并使用removeIf 方法从每个列表中删除相关元素:

m.values().forEeach(v -> v.removeIf(i -> i.getId() == 123));
// Just an example, of course ------------------------^

【讨论】:

    猜你喜欢
    • 2020-02-11
    • 2017-02-25
    • 2019-11-26
    • 1970-01-01
    • 2023-03-08
    • 1970-01-01
    • 2021-02-15
    • 2016-12-25
    • 1970-01-01
    相关资源
    最近更新 更多