【发布时间】:2014-11-07 14:08:12
【问题描述】:
我的驱动程序类中有以下集合:
ArrayList<SoftDrink> drinks = new ArrayList<>();
其中SoftDrink有三个私有实例变量(类中有访问器方法):
String name;String colour;int volume;
要求用户输入有关饮料的信息,然后将 SoftDrink 对象添加到 ArrayList 中,如下所示:
drinks.add(new SoftDrink(drinkName, colour, volume));
当用户添加完饮料后,我希望程序打印出用户输入的软饮料列表,首先按名称的字母顺序排序,然后按颜色的字母顺序,然后按体积(升序顺序)。
例子:
Coke Red 500Coke Silver 500Fanta Orange 300Fanta Orange 500
在比较 ArrayList 中的这些对象,然后根据这些不同的参数对它们进行适当排序时,我可以采用的最 Java 的方式是什么?
【问题讨论】:
-
写一个比较器并做
-
对于 Java8,这篇文章可能会有所帮助:blog.jooq.org/2014/01/31/… 编写一个易于维护的解决方案。
标签: java sorting arraylist collections