majiayichuan 2008-09-10 13:36
浏览 103
已采纳

一道j2se问题!关于排序的

import java.util.*;

public class aa {

public static void main(String[] args)  {

    SortedSet set=new TreeSet(new Comparator()
    {

        public int compare(Object o1, Object o2) {
            if(Integer.parseInt(o1.toString())>Integer.parseInt(o2.toString()))
            return 1;
            else
                return
                -1;
        }

    });
  set.add("1");
  set.add("5");
  set.add("3");
  System.out.println(set);
  set.remove("1");//为什么删除不掉呢,请给详细解答!
  System.out.println(set);

}
}

  • 写回答

1条回答 默认 最新

  • congjl2002 2008-09-10 14:09
    关注

    因为你重写了compare方法,所以你判断是否相等用的就是你自己的方法,但是你并没有给出如何才是相等,所以应该加上一个相等时返回0
    如下:
    [code="java"]
    public int compare(Object o1, Object o2) {
    if (Integer.parseInt(o1.toString()) > Integer.parseInt(o2
    .toString()))
    return 1;
    else if (Integer.parseInt(o1.toString()) < Integer.parseInt(o2
    .toString())) {
    return -1;
    } else {
    return 0;
    }
    }
    [/code]

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥50 comsol稳态求解器 找不到解,奇异矩阵有1个空方程返回的解不收敛。没有返回所有参数步长;pid控制
  • ¥15 怎么让wx群机器人发送音乐
  • ¥15 fesafe材料库问题
  • ¥35 beats蓝牙耳机怎么查看日志
  • ¥15 Fluent齿轮搅油
  • ¥15 八爪鱼爬数据为什么自己停了
  • ¥15 交替优化波束形成和ris反射角使保密速率最大化
  • ¥15 树莓派与pix飞控通信
  • ¥15 自动转发微信群信息到另外一个微信群
  • ¥15 outlook无法配置成功