原题是:10000+个数字钟找出top100
我稍作改动,可以是top任何数字。
package model.test;
import java.util.Arrays;
import java.util.Comparator;
import java.util.HashSet;
import java.util.Random;
import java.util.Set;
import java.util.TreeSet;
//10000+个数字钟找出top100
public class Top {
Set<Integer> top;
int topNumber;
public Top(int topNumber,Set<Integer> inputValues) {
this.topNumber = topNumber;
this.top = new TreeSet<Integer>(new Comparator<Integer>() {
@Override
public int compare(Integer o1, Integer o2) {
return o1 - o2;
}
});
for(int input:inputValues){
this.add(input);
}
}
public Integer[] getTop(){
return this.top.toArray(new Integer[] {});
}
private void add(int value) {
if (this.topNumber == this.top.size() && value > (Integer) this.top.toArray()[0]) {
this.top.remove(this.top.toArray()[0]);
}
if (this.top.size() < this.topNumber) {
this.top.add(new Integer(value));
}
}
public static void main(String[] args) {
//准备测试数据
Set<Integer> input=new HashSet<Integer>();
for(int i=0;i<50000;i++){
input.add(new Integer(new Random().nextInt(Integer.MAX_VALUE)));
}
//输出结果
System.out.println(Arrays.toString(new Top(1000, input).getTop()));
}
}
分享到:
相关推荐
面试题包括Java基础方面、Jsp方面、Servlet方面、Jdbc、Jdo方面、Xml方面、EJB方面、J2EE MVC方面、设计模式方面、JavaScript方面、CORBA方面、LINUX方面,非常齐全的面试题,都有答案。是找工作的必备品。
读《腾讯传》有感1500字.doc
“读”2021浙江省英语高考试题有感讲稿.docx
shell一面,二面,topic整理稿,全,经典!!!
前段时间因为要参加一个笔试,在准备期间在网上找到了两条关于笔试题目的文章,其中一篇为有感:应聘Java笔试时可能出现问题>>,还有一篇忘了名字,读后深受启发。 在寻找这些答案的过程中,我将相关答案记录下来,...
面试会计师事务所合伙人有感.doc
看《精灵鼠小弟2》有感.doc
看《中国好声音》有感.docx
六年级语文上试题-有的人-纪念鲁迅有感同步练习题含答案.pdf
看《赢在执行》有感.doc
5古诗两首题西林壁观书有感.ppt
读落花生有感600字.doc
观“人机大战”有感. 观“人机大战”有感. 观“人机大战”有感.
看《大象传奇》-有感作文.doc
看《帐单的故事》有感作文.doc
看《喜羊羊与灰太狼》有感作文.doc
读后感300字-朱熹观书有感.docx
祭司——看沧月《帝都赋》有感.doc
看电影阿凡达有感.doc
读《破冰》有感.doc