获取输入 HashSet 后的数据读取顺序

Get the data read order after feeding into an HashSet

我从 MySQL 数据库获取数据,其中包含产品名称。我有两个数据库。一个包含本地产品,而另一个数据库包含外国产品。我需要从两个数据库中获取数据。

为了成功,我使用 JDBC 连接并检索数据并放入两个 arraylists。因为我想忽略重复项,所以我使用 hashset。我将那些 arraylist 输入到 hashset,然后再次取回不包含重复项的 arraylist

我知道HashSet没有排序方式,所以它会随着时间的推移而变化。我不希望发生这种情况。我还想在删除重复项后保持数据顺序读取。

我使用的示例代码:

    localProductHashSet.addAll(getLocalProduct);
    getLocalProduct.clear();
    getLocalProduct.addAll(localProductHashSet);
    Collections.sort(getLocalProduct);

如果您想使用 Comparator 或在您的数据模型上实施 Comparable<T> 以按特定顺序保存它们,请尝试 SortedSet like TreeSet

否则,请尝试 LinkedHashSet,这将使您的对象按照插入的顺序排列。