获取输入 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,这将使您的对象按照插入的顺序排列。
我从 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,这将使您的对象按照插入的顺序排列。