本帖最后由 qijiashe1984 于 2009-10-29 17:08:01 编辑

解决方案 »

  1.   

    偶木有用过,但从输出看,PriorityQueue内部会按元素排序,
    poll, 相当于stack的pop方法,返回并删除第一个元素。
    peek, 返回当前第一个元素.
      

  2.   

    poll():检索并移除此队列的头,如果此队列为空,则返回 null。 
    peek():检索,但是不移除此队列的头,如果此队列为空,则返回 null.
      

  3.   


    既然如此,为什么不是apple:apple呢?
      

  4.   

    PriorityQueue的Add的实现片段
    if (comparator != null)
        siftUpUsingComparator(k, x);
    else
        siftUpComparable(k, x);因为创建的时侯没有指定comparator, 所以使用Comparable排序。String本身实现了Comparable接口,
    排序后Queue元素为, apple, banana, carrot.