我真的需要解决一个困扰了 3 天的问题。任何帮助,将不胜感激。
我有一个Car
带有品牌、模型和颜色实例变量的类。
我有一个Preferences
带有name、brand、model和color实例变量的类。
我有一个preferences
(Key = name, value = Car) HashMap,其中包含人的姓名作为键和他们想要驾驶的汽车作为值。
最后,我有一个names
包含系统中所有名称的 ArrayList。
我想以某种方式根据他们想要驾驶的汽车对人们的姓名进行分组。
例如,我希望输出类似于:
福特福克斯,2006,蓝色:尼克,比尔,吉姆
欧宝阿斯特拉,2008,黑色:乔,乔治
梅赛德斯 CLK,2009,黑色:史蒂夫,克里斯,约翰
我想到的第一件事是,我可以将所有重复项保存在一个列表中,然后获取该列表的名称,但我发现我无法根据他们喜欢的汽车组成人群。所以,我认为下面的代码根本没有帮助。
Preferences[] p = new Preferences[preferences.size()];
for (int i = 0; i < preferences.size(); i++) {
p[i] = (Preferences) preferences.get(names.get(i));
Car car = new Car(p[i].getBrand(), p[i].getModel(), p[i].getColor());
if (!set.add(car)) { //duplicate
System.out.println("Duplicate!");
listOfDuplicates.add(car);
}
}
有什么我可以做的吗?