我有以下集合在我的驱动程序类:如何通过Java中的各种参数对此ArrayList进行排序?
ArrayList<SoftDrink> drinks = new ArrayList<>();
其中SoftDrink
有三个私有的实例变量(也有在类存取方法):
String name;
String colour;
int volume;
要求用户输入有关饮品的信息,并将SoftDrink对象添加到ArrayList中,如下所示:
drinks.add(new SoftDrink(drinkName, colour, volume));
当用户完成添加饮料我想要的程序打印出的用户已经进入了软饮料的列表,排序首先由名字的字母顺序,然后按颜色的字母顺序排列,然后按体积(按升序)。
例子:
Coke Red 500
Coke Silver 500
Fanta Orange 300
Fanta Orange 500
什么是最Javaish这样我可以去根据ArrayList中这些对象进行比较,然后对它们进行排序approriately这些各种参数?
写一个比较器和做 – SparkOn 2014-09-13 15:12:21
随着Java8这篇文章可能会有所帮助:http://blog.jooq.org/2014/01/31/java- 8-friday-goodies-lambdas-and-sorting /编写一个易于维护的解决方案。 – 2014-09-13 15:14:25