gpt4 book ai didi

java - TableView 使用哪种数据结构不允许重复项?

转载 作者:行者123 更新时间:2023-12-02 05:59:52 24 4
gpt4 key购买 nike

我试图找到一种可用于保存 TableView 数据但不允许重复项目的数据结构。如果我不需要一个可观察的对象,更准确地说是一个 ObservableList,对于 TableView,我会使用 HashSet,但我不能。

我考虑过创建一个新类来实现 ObsevableList,因为我真的不想有 2 个数据结构,例如 ObservableSet 和 ObservableList。

有人知道解决办法吗?

最佳答案

首先确定相等条件以及导致对象重复的原因。然后重写类中的 equalshashcode 方法。 (如果您使用的是 String 或 Integer 等类,那么这些类应该已经定义良好。)。然后,当您尝试将对象添加到表中时,您只需检查表是否已包含该项目:

if(!table.getItems().contains(newItem)) table.getItems.add(newItem);

或者,如果您不打算一一添加对象,则可以使用 Java8 Stream API:

table.getItems().setAll(table.getItems().stream().distinct().collect(Collectors.toList()));

关于java - TableView 使用哪种数据结构不允许重复项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55984261/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com