我用J2SE做了一个播放器,用了JMF包里的播放器,现在我有一个MAP,里面KEY是时间毫秒LONG表示,V是歌词,请问怎么做才能让播放器的时间与KEY里的时间对上的时候歌词取出来。最关键的问题是怎么一直在KEY里检索,目前这段代码如下,但是不能通过因为 SET不能转换为LIST       或者大家有没有什么更好的方法可以解决这个问题的,谢谢~
        JLabel jl2=new JLabel();
     Set<Long> set =  gecimapMap.keySet();
     ListIterator<Long> ite=(ListIterator)set.iterator();//提示不能转换
 while (ite.hasNext()) {
        long lo = ite.next();
        double locmp=player.getMediaTime().getSeconds();
        long loc=(long) (locmp)*1000;       
        System.out.println(lo);
        System.out.println(loc);
        if ((double)lo==loc) {
         System.out.println(gecimapMap.get(lo));
         String gcs=(java.lang.String) gecimapMap.get(lo);
         jl2.setText(gcs);
        jp1.add(jl2);
            jl2.setBounds(100,100,100,100);
            jl2.setVisible(true);}
           if(!ite.hasNext()){
         while (ite.hasPrevious()) {
             lo = ite.previous();
             locmp=player.getMediaTime().getSeconds();
             loc=(long) (locmp)*1000;       
            System.out.println(lo);
            System.out.println(loc);
            if ((double)lo==loc) {
             System.out.println(gecimapMap.get(lo));
             String gcs=(java.lang.String) gecimapMap.get(lo);
             jl2.setText(gcs);
            jp1.add(jl2);
                jl2.setBounds(100,100,100,100);
                jl2.setVisible(true);}
           }
         }
       listjavaj2semap容器