一道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;elsereturn-1;} }); set.add("1"); set.add("5"); set.add("3"); System.out.println(set); set.remove("1");//为什么删除不掉呢,请给详细解答! System.out.println(set);}}

解决方案

因为你重写了compare方法,所以你判断是否相等用的就是你自己的方法,但是你并没有给出如何才是相等,所以应该加上一个相等时返回0如下: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;}}

时间: 2024-10-22 09:23:09

一道j2se问题!关于排序的的相关文章

一道面试题(关于千万量级数据结构排序)

问题描述 一道面试题(关于千万量级数据结构排序) 题目: 已知文件中存有全国英语六级历年来的成绩(千万级别,考生分数都是正整数,最高710分),每一行都是一个人的姓名.考号和成绩,请你对考生的成绩从高到低进行排序,输出到另一个文件中. 格式 如下: 李四,201008823,678: 张三,201007432,356: 王五,201322233,464: 排序后: 李四,201008823,678: 王五,201322233,464: 王五,201322233,464: 要求:使空间复杂度和时间

c语言-一道C语言用结构体排序的题目 大神快来帮我理解下人家的代码~~~

问题描述 一道C语言用结构体排序的题目 大神快来帮我理解下人家的代码~~~ 描述 小王是公司的仓库管理员,一天,他接到了这样一个任务:从仓库中找出一根钢管.这听起来不算什么,但是这根钢管的要求可真是让他犯难了,要求如下: 1. 这根钢管一定要是仓库中最长的: 2. 这根钢管一定要是最长的钢管中最细的: 3. 这根钢管一定要是符合前两条的钢管中编码最大的(每根钢管都有一个互不相同的编码,越大表示生产日期越近). 相关的资料到是有,可是,手工从几百份钢管材料中选出符合要求的那根-- 要不,还是请你编

c++ 排序-c++的一道简单排序问题

问题描述 c++的一道简单排序问题 代码我写好了,可是出了一些问题,请指教! 问题描述 给定一个长度为n的数列,将这个数列按从小到大的顺序排列.1<=n<=200输入格式 第一行为一个整数n. 第二行包含n个整数,为待排序的数,每个整数的绝对值小于10000.输出格式 输出一行,按从小到大的顺序输出排序后的数列.样例输入58 3 6 4 9样例输出3 4 6 8 9 我写的代码如下:#include using namespace std;int main(){ int nijmax; cin

每周一道数据结构(二)排序总结

排序 所谓排序,就是要整理文件中的记录,使之按关键字递增(或递减)次序排列起来. 排序是数据处理中经常使用的一种重要运算.在计算机及其应用系统中,花费在排序上的时间在系统运行时间中占有很大比重,并且排序本身对推动算法分析的发展也起很大作用.目前已有上百种排序方法,但并没有一个万能的排序方法来解决所有问题,接下来介绍几种常用的排序方法,并对它们进行分析和比较.   分类 1.按是否涉及数据的内.外存交换 内排序 在排序过程中,若整个文件都是放在内存中处理,排序时不涉及数据的内.外存交换,则称之为内

HDU 1811 Rank of Tetris(拓扑排序+并查集)

链接: http://acm.hdu.edu.cn/showproblem.php?pid=1811 题目: Problem Description 自从Lele开发了Rating系统,他的Tetris事业更是如虎添翼,不久他遍把这个游戏推向了全球. 为了更好的符合那些爱好者的喜好,Lele又想了一个新点子:他将制作一个全球Tetris高手排行榜,定时更新,名堂要比福布斯富豪榜还响.关于如何排名,这个不用说都知道是根据Rating从高到低来排,如果两个人具有相同的Rating,那就按这几个人的R

经典算法(10) 一道有趣的GOOGLE面试题

最近在微博上看到一道有趣的GOOGLE面试题,见下图: 文字版: 一个 大小为n的数组,里面的数都属于范围[0, n-1],有不确定的重复元素,找到至少一个重复元素,要求O(1)空 间和O(n)时间. 这个题目要求用O(n)的时间复杂度,这意味着只能遍历数组一次.同时还要寻找重复 元素,很容易想到建立哈希表来完成,遍历数组时将每个元素映射到哈希表中,如果哈希表中已经存在这个 元素则说明这就是个重复元素.因此直接使用C++ STL中的hash_set(参见<STL系列之六 set与hash_set

acm问题-Acm 一道数据结构的问题,求思路,不求代码。

问题描述 Acm 一道数据结构的问题,求思路,不求代码. 假设我有两数组,分别有n1 n2个数据(每组数据都不相同).我要两个数组中各取一个相加,有n1乘n2种结果,从小到大排,取前n个.(如果n1 n2 特别大怎么算),求大神教我. 解决方案 首先将n1 n2按照从小到大的顺序排成两列 最小的肯定是n1[0]+n2[0](下面简写,只用下标,比如n1[0]+n2[0]记作0,0) 稍微大一点的要么是1,0要么是0,1 如果是1,0,那么再大一点的,要么是1,1,要么是2,0 如果是0,1,那么

c语言一道检索的题目求助!

问题描述 c语言一道检索的题目求助! 直接检索肯定会超时了,但我实在不知道什么算法能解决这个问题,求助各位大神! 解决方案 用字典树,遍历一遍,将数据添加到字典树,然后查询.内存开销8000字节以内,时间开销N+LogN 解决方案二: 如果不算数据输入的时间,2秒之内完成是没有任何问题的,即使是m=n=1000000的情况,估计0.5秒就可以完成,基本思路如下:1.使用一个int(4字节)的低三位来存储一个三元组:使用两个int数组分别存储n个三元组和m个三元组,内存不超过8M2.对n个int进

测试-js如何把html内容,id=0到id=9 从小到大排序 显示!谢谢~~~急~~

问题描述 js如何把html内容,id=0到id=9 从小到大排序 显示!谢谢~~~急~~ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> &