2016 - 2024

感恩一路有你

java中排序有哪些方法 javaset集合的值可以排序吗?

浏览量:3097 时间:2023-03-27 11:53:49 作者:采采

javaset集合的值可以排序吗?

S:TreeSet会调用集合元素的compareTo(Objectobj)方法来比较元素之间的大小关系,然后将集合的元素按升序排列,这种就是自然排序.为什么集合元素有compareTo方法,因为集合元素对象实现了Comparable接口,该方法返回一个整数值,当一个对象调用该方法与另一个对象进行比较,例如(obj2)如果返回0,表示这两个对象相等,如果该方法返回一个正整数,表示obj1大于obj2如果该方法返回一个负整数,表示obj1小于obj2所以需要使用TreeSet集合进行自然排序,元素必须实现Comparabl:StringCharacterBooleanDateTimeBigDecimalBigInt:Tr

Java类中参数列表的个数与数据类型有哪些?

可变参数 参数的个数不确定,可以是0个可以是多个,参数的数据类型必须相同 可变参数必须要写在参数列表的最后 操作可变参数,要通过使用数组的第6天 可变参数 参数的个数不确定,可以是0个可以是多个,参数的数据类型必须相同 可变参数必须要写在参数列表的最后 操作可变参数,要通过使用数组的 数组排序 冒泡排序 选择排序 二分法查找 Arrays 工具类 面向对象 n

一道java面试题,20亿数字的文本排序,如何取前100?

每行一个数字

自己写个最小(大)堆不就完了,c 也可以用标准库里的优先队列。先找出前100大,然后再对前100大进行排序就是结果。。。。这题目简直不要太简单。。。。常见扩展就是1亿个url,如何找出出现最次数前100多的url。

有点笨的方法.:将20亿的数字分成2000(2万)个数据一段(或文件),对每组数组取1个(也可10个),直接汇总既可。也可多取再二次分组或三次分组。更多次就约准确。

我作为一个外行看来,这样的方案应该可以吧:假如要找出的是排大到小的前100.那么随机抓取20亿个中的100个,然后将这100个数排序,然后将剩下的数字中逐个跟100个中的最小的比较,如果比100个中最小的小,就淘汰这个,换下一个,如果那个数比100个中的最小的大,则将这个数置换掉那个最小的,100个再排序,(这次排序就很快了),接着再从剩余的数字中抓一个来比较,直至20亿个全部比较完,剩下的100个就是最大的前100

我赞成两个靠谱的回答

1

取100个数字排序,后面的数字依次和100个数字最小的比,最后留下100个最大的

2

根据字符串长度、小数、负数几个属性分类,可以直接排除部分较短的数字不转化为数字,然后做排序。这应该能省一些转换数字的时间吧?

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。