要求定义Lake类 包含湖泊的名字和面积,并利用List集合存放Lake对象  然后把四大湖的信息按照湖的名称(升序)和面积(降序)进行排序

解决方案 »

  1.   

    LZ是说这样?
    public class Test {
    public static void main(String[] args) throws Exception {
    List<Lake> lakeList = new ArrayList<Lake>();

    // 太湖
    Lake taihuLake = new Lake();
    taihuLake.setName("Taihu Lake");
    taihuLake.setArea(2250);

    // 鄱阳湖
    Lake poYangLake = new Lake();
    poYangLake.setName("Poyang Lake");
    poYangLake.setArea(4400);

    // 洞庭湖
    Lake dongtingLake = new Lake();
    dongtingLake.setName("Dongting Lake");
    dongtingLake.setArea(2820);

    // 洪泽湖
    Lake hongzeLake = new Lake();
    hongzeLake.setName("Hongze Lake");
    hongzeLake.setArea(2069);

    lakeList.add(taihuLake);
    lakeList.add(poYangLake);
    lakeList.add(dongtingLake);
    lakeList.add(hongzeLake);

    // 按名称排序
    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;
    }
    }
    突然觉得认真的自己好傻
      

  2.   

     为什么总提示The type List is not generic; it cannot be parameterized with arguments <Lake> 
      

  3.   

     为什么总提示The type List is not generic; it cannot be parameterized with arguments <Lake> 
      

  4.   

    The type List is not generic; it cannot be parameterized with arguments <Lake> 
    可能原因是你引入包错了,建议先用*代替试试可以不。
    或者是不是你把List的引入写成了其他的,毕竟awt里面也有List。这里应该是util包的。如果还是不行,你直接去掉泛型,如果是这样的话,你的Jdk应该是5.0之前的。
      

  5.   

    怎么看JDK得版本?我安装的好像是6.0的啊
      

  6.   

    Lake实现Comparable接口或者实现一个Comparator接口