用TreeSet集合存储商品的基本信息
时间: 2025-01-05 14:46:31 浏览: 3
`TreeSet`是一个有序的集合,它内部实现了红黑树数据结构,这意味着插入、删除和查找元素的时间复杂度都是O(log n)。当你使用`TreeSet`存储商品的基本信息,比如`Goods`类中的品牌、价格和日期,你可以按照自然顺序或自定义的`Comparator`来排序。
以下是如何使用`TreeSet`存储`Goods`对象的一个简短示例:
首先,你需要创建一个`Comparator`,用于商品的比较。例如,你可以根据价格、品牌或日期进行排序:
```java
Comparator<Goods> comparator = Comparator.comparingInt(Goods::getPrice); // 按照价格排序
```
然后,在`main`方法中,你可以创建一个`TreeSet`,并传入上述`comparator`:
```java
TreeSet<Goods> goodsSet = new TreeSet<>(comparator);
```
接着,你可以像添加其他列表那样向集合中添加商品:
```java
while (...) {
// 输入品牌、价格和日期
Goods newGood = new Goods(...);
goodsSet.add(newGood);
}
```
最后,遍历`TreeSet`来显示商品,它们会按照指定的顺序排列:
```java
for (Goods good : goodsSet) {
System.out.println(good);
}
```
注意,如果没有显式地传递`Comparator`,那么默认的自然顺序将会基于`Object`类的`hashCode`和`equals`方法,这通常是无序的。如果需要按照特定规则排序,一定要提供适当的比较器。
阅读全文