Я пытаюсь преобразовать список объектов в набор объектов, чтобы убедиться, что в коллекции нет дубликатов.Я пытаюсь это сделать с помощью Streams.
У меня есть класс Product, как показано ниже:
class Product{
int id;
String name;
float price;
public Product(int id, String name, float price) {
this.id = id;
this.name = name;
this.price = price;
}
public String getName()
{
return this.name;
}
public int getId()
{
return this.id;
}
public float getPrice()
{
return this.price;
}
public void setName(String name)
{
this.name = name;
}
public void setId(int id)
{
this.id = id;
}
public void getPrice(float price)
{
this.price = price;
}
}
Я пытаюсь что-то вроде:
List<Product> productsList = new ArrayList<Product>();
//Adding Products
productsList.add(new Product(1,"HP Laptop",25000f));
productsList.add(new Product(2,"Dell Laptop",30000f));
productsList.add(new Product(3,"Lenevo Laptop",28000f));
productsList.add(new Product(4,"Sony Laptop",28000f));
productsList.add(new Product(5,"Apple Laptop",90000f));
productsList.add(new Product(5,"Apple Laptop",90000f));
Я хочу, чтобы результат былхраниться как Set:
Set<Product> productPriceList=productsList.stream()
.map(p->new Product(p.getId,p.getName,p.getPrice))
.collect(Collectors.toSet());
Но это не работает для меня.Любые предложения будут высоко оценены!