第15章课后答案

一、问答题

1.LinkedList使用链式存储结构,ArrayList使用顺序存储结构。

2.迭代器遍历在找到集合中的一个对象的同时,也得到待遍历的后继对象的引用,因此迭代器可以快速地遍历集合。

3.不是。

4.用HashMap来存储。

二、阅读程序

1.8。

2.ABCD。

三、编写程序

1.  import java.util.*;

public class E {

   public static void main(Stringargs[]) {

      Stackstack=new Stack();

      stack.push(new Integer(3));

      stack.push(new Integer(8));

      int k=1;

      while(k<=10) {

        for(int i=1;i<=2;i++){

          Integer F1=stack.pop();

          int f1=F1.intValue();

          Integer F2=stack.pop();

          int f2=F2.intValue();

          Integer temp=newInteger(2*f1+2*f2);

         System.out.println(""+temp.toString());

          stack.push(temp);

          stack.push(F2);

          k++;

        }

      }

   }

}

2.   importjava.util.*;

class Student implements Comparable {

   int english=0;

   String name;

   Student(int english,Stringname) {

      this.name=name;

      this.english=english;

   }

   public int compareTo(Object b){

      Student st=(Student)b;

      return(this.english-st.english);

   }

}

public class E {

  public static void main(Stringargs[]) {

     List list=newLinkedList();

     int score[]={65,76,45,99,77,88,100,79};

     String name[]={"张三","李四","旺季","加戈","为哈","周和","赵李","将集"};

     for(inti=0;i

             list.add(newStudent(score[i],name[i]));

     }

     Iteratoriter=list.iterator();

     TreeSetmytree=new TreeSet();

     while(iter.hasNext()){

         Student stu=iter.next();

         mytree.add(stu);

     }

     Iteratorte=mytree.iterator();

     while(te.hasNext()) {

        Student stu=te.next();

       System.out.println(""+stu.name+" "+stu.english);

     }

  }

}

3.  import java.util.*;

class UDiscKey implements Comparable {

   double key=0;

   UDiscKey(double d) {

     key=d;

   }

   public int compareTo(Object b){

     UDiscKey disc=(UDiscKey)b;

     if((this.key-disc.key)==0)

        return -1;

     else

        return(int)((this.key-disc.key)*1000);

  }

}

class UDisc{

    int amount;

    double price;

    UDisc(int m,double e) {

       amount=m;

       price=e;

   }

}

public class E {

   public static void main(Stringargs[ ]) {

     TreeMap  treemap=new TreeMap();

      int amount[]={1,2,4,8,16};

      doubleprice[]={867,266,390,556};

      UDisc UDisc[]=new UDisc[4];

      for(intk=0;k

         UDisc[k]=newUDisc(amount[k],price[k]);

      }

      UDiscKey key[]=newUDiscKey[4] ;

      for(intk=0;k

         key[k]=newUDiscKey(UDisc[k].amount);

      }

      for(intk=0;k

        treemap.put(key[k],UDisc[k]);         

      }

      int number=treemap.size();

      Collectioncollection=treemap.values();

      Iteratoriter=collection.iterator();

      while(iter.hasNext()) {

         UDisc disc=iter.next();

        System.out.println(""+disc.amount+"G"+disc.price+"元");

      }

      treemap.clear();

      for(intk=0;k

         key[k]=newUDiscKey(UDisc[k].price);

      }

      for(intk=0;k

        treemap.put(key[k],UDisc[k]);

      }

      number=treemap.size();

     collection=treemap.values();

      iter=collection.iterator();

      while(iter.hasNext()) {

         UDisc disc=iter.next();

        System.out.println(""+disc.amount+"G"+disc.price+"元");

      }

    }

}

你可能感兴趣的:(java)