我从 MySQL
数据库获取数据,其中包含产品名称。我有两个数据库。一个数据库包含本地产品,而其他数据库则包含外国产品。我需要从两个数据库获取数据。
为了成功,我使用 JDBC
连接并检索数据并将其放入两个 arraylist
中。因为我想忽略重复项,所以我使用哈希集
。我将这些 arraylist
输入到 hashset
,然后再次取回不包含重复项的 arraylist
。
我知道HashSet
没有排序方式,因此它会随着时间的推移而变化。我不希望这种情况发生。我想保持读取的数据顺序,就像删除重复项后一样。
我使用的示例代码:
localProductHashSet.addAll(getLocalProduct);
getLocalProduct.clear();
getLocalProduct.addAll(localProductHashSet);
Collections.sort(getLocalProduct);
最佳答案
尝试 SortedSet像TreeSet如果你想使用Comparator
或实现Comparable<T>
在您的数据模型上使它们保持某种指定的顺序。
否则,请尝试 LinkedHashSet ,这将使您的对象保持插入的顺序。
关于java - 获取输入到 HashSet 后的数据读取顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28728137/