??xml version="1.0" encoding="utf-8" standalone="yes"?>
Object[] key = map.keySet().toArray();
//升序排序
Arrays.sort(key);
for(int i=0;i<key.length;++i)
{
System.out.println("Key_Id=="+key[i]+"Key_Value===="+map.get(key[i]));;
}
1Q重点理解变化和不变化的部分
//类Duck
public abstract class Duck {
FlyBehavior flyBehavior;
QauckBehavior qauckBehavior;
public void performQuack()
{
qauckBehavior.quack();
}
public void performFly()
{
flyBehavior.fly();
}
public void swim()
{
System.out.println("ALL duck float!!!!");
}
}
//飞的行ؓc?/p>
public interface FlyBehavior {
public void fly();
}
public class FlyingWithWing implements FlyBehavior{
public void fly() {
System.out.println("I can flying!!!");
}
}
public interface QauckBehavior {
public void quack();
}
public class Quack implements QauckBehavior{
public void quack() {
//内容
}
}
public class MallardDuck extends Duck{
//q里可以不在构造器中去实现Q可以在SetҎ法把变量l赋倹{?br />
//可以理解一下动态的讑֮他的行ؓ的含义?br />
//如果攑ֈSetҎ中把QuackcL者FlyingWithWing作ؓ参数传进d可以完成
//动态设定他们的行ؓ了?br />
public MallardDuck()
{
//qauckBehavior = new Quack();
//flyBehavior = new FlyingWithWing();
}
public void setQuackBehavior(Quack quack)
{
//内容
qauckBehavior = new Quack();
}
//外面调用
public void setQuackBehavior(FlyingWithWing flyWithWing)
{
//内容
flyBehavior = new FlyingWithWing();
}
}