// TODO: 2016. 6. 11.
// 1. 칼로리 400 미만 저장 후 오름차순으로 정렬
// 2. 코드는 심플하게
// 3. Comparator 는 익명클래스로 간단하게
List<Menu> menus = new ArrayList<Menu>(
Arrays.asList(
new Menu("a", 200),
new Menu("b", 190),
new Menu("c", 300),
new Menu("d", 500),
new Menu("e", 330),
new Menu("f", 600),
new Menu("g", 280),
new Menu("h", 460),
new Menu("i", 510),
new Menu("j", 450)
)
);
List<Menu> lowCalorieMenus = new ArrayList<Menu>();
// 400 미만의 칼로리만 저장
for (Menu menu : menus) {
if (menu.getCalorie() < 400)
lowCalorieMenus.add(menu);
}
//Collections.sort(rowCalorie, Menu.ascendingCalorie);
Collections.sort(lowCalorieMenus, new Comparator<Menu>() {
public int compare(Menu o1, Menu o2) {
//ascending order
return o1.getCalorie() > o2.getCalorie() ? 1 : -1;
//descending order
//return o1.getCalorie() > o2.getCalorie() ? -1 : 1;
}
});
for (Menu menu : lowCalorieMenus) {
System.out.println(menu.getCalorie());
}