第十章课后题

2018-10-13  本文已影响0人  李洋codingfarmer

1.

请使用LinkedList来模拟一个队列(先进先出的特性):

1 拥有放入对象的方法void put(Object o)

2 取出对象的方法Object get()

3 判断队列当中是否为空的方法boolean isEmpty();并且,编写测试代码,验证你的队列是否正确

测试类

@Test
public void work03(){
    
    LinkedList list=new LinkedList<>();
    DuiLie d1=new DuiLie(list);
    d1.put("wangqs");
    d1.put("daorb");
    d1.put("gujn");

    while(!d1.isEmpty()){   
        for(Object obj:d1.getLt()){
        System.out.println(obj);
    }
        System.out.println("-------------------->");
        d1.get();

    
    }
System.out.println("队列空了");

}

实现队列功能的类

public class DuiLie {
    private LinkedList lt;
 public void put(Object o){
    
     lt.addLast(o);//新放入的对象放在队尾
 }  
 public Object get(){
     
    return lt.removeFirst();//删除队首的对象
     
 }
 public boolean isEmpty(){
     if(lt.isEmpty()){
         return true;
     }
     
    return false;
     
 }
public DuiLie(LinkedList lt) {
    super();
    this.lt = lt;
}
public LinkedList getLt() {
    return lt;
}
 
}

2.

假设顺序列表ArrayList中存储的元素是整型数字1~5,遍历每个元素,将每个元素顺序输出。

    public void work01(){
        List<Integer> al=new ArrayList();
        al.add(5);
        al.add(3);
        al.add(1);
        al.add(2);
        al.add(4);
        for(Integer i:al){
            System.out.print(i+" ");
        }
        System.out.println();
        System.out.println("-------------------------->");
        Collections.sort(al);
        for(Integer i:al){
            System.out.print(i+" ");
        }
    }

3.

在一个列表中存储以下元素:apple,grape,banana,pear

1.返回集合中的最大的和最小的元素

2.将集合进行排序,并将排序后的结果打印在控制台上

public void work02(){
    List<String> al=new ArrayList();
    al.add("apple");
    al.add("grape");
    al.add("banana");
    al.add("pear");
    String max=Collections.max(al);
    System.out.println("最大元素:"+max);
    String min=Collections.min(al);
    System.out.println("最小元素:"+min);
    Collections.sort(al);
    for(String s:al){
        System.out.println(s);
    }
}
上一篇 下一篇

猜你喜欢

热点阅读