// 按名称排序 Comparator<Lake> c1 = new Comparator<Lake>() { @Override public int compare(Lake lake1, Lake lake2) { return lake1.getName().compareTo(lake2.getName()); } };
// 按面积排序 Comparator<Lake> c2 = new Comparator<Lake>() { @Override public int compare(Lake lake1, Lake lake2) { return lake1.getArea() > lake2.getArea() ? 1 : -1; } };
Collections.sort(lakeList, c1); for (Lake lake : lakeList) { System.out.println(lake.getName()); }
Collections.sort(lakeList, c2); for (Lake lake : lakeList) { System.out.println(lake.getName()); } } }
class Lake { /** 名称 */ private String name; /** 面积 */ private int area;
public String getName() {
return name; }
public void setName(String name) { this.name = name; }
public int getArea() { return area; }
public void setArea(int area) { this.area = area; } }
突然觉得认真的自己好傻 [解决办法]
为傻傻的你鼓掌~ [解决办法] 嘎嘎嘎,一楼好建议 [解决办法] 逛街 你懂的 哈哈哈 [解决办法] 为什么总提示The type List is not generic; it cannot be parameterized with arguments <Lake> 目测编译器版本过低 [解决办法] The type List is not generic; it cannot be parameterized with arguments <Lake> 可能原因是你引入包错了,建议先用*代替试试可以不。 或者是不是你把List的引入写成了其他的,毕竟awt里面也有List。这里应该是util包的。