1. 修改MouseList.java,使它继承ArrayList而不是使用组合。说明此方法有何问题。
2.改正 CatsAndDogs.java 程序,写一个Cats容器(使用ArrayList)只接受和取出Cat对象。 //: c11:Cat.java package c11; public class Cat { private int catNumber; public Cat(int i) { catNumber = i; } public void id() { System.out.println("Cat #" + catNumber); } } ///:~ //: c11:Dog.java package c11; public class Dog { private int dogNumber; public Dog(int i) { dogNumber = i; } public void id() { System.out.println("Dog #" + dogNumber); } } ///:~
//: c11:CatsAndDogs.java // Simple container example. // {ThrowsException} package c11; import java.util.*; public class CatsAndDogs { public static void main(String[] args) { List cats = new ArrayList(); for(int i = 0; i < 7; i++) cats.add(new Cat(i)); cats.add(new Dog(7)); for(int i = 0; i < cats.size(); i++) ((Cat)cats.get(i)).id(); // Dog is detected only at run time } } 3.使用键值对填充HashMap。打印结果,证明是按散列码排序的。取出键值对,按键排序,将结果置入LinkedHashMap。证明后者维持元素插入的顺序。
|