集合中的Collections排序和Map排序

来源:互联网 发布:ubuntu 一直等待安装 编辑:程序博客网 时间:2024/05/19 14:17

请从键盘随机输入10个整数保存到List中,并按倒序、从大到小的顺序显示出来

@Test

public void test4(){
Scanner r = new Scanner(System.in);
List list = new ArrayList();
for(int i=0;i<10;i++){
int x = r.nextInt();
list.add(x);
}
Collections.sort(list);
System.out.println(list);
Collections.reverse(list);
System.out.println(list);
}


请把学生名与学号录入到Map中,并按学号显示前三名学员的信息。

package A;
public class student {
String name;
int number;
public student(String name, int number) {
super();
this.name = name;
this.number = number;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getNumber() {
return number;
}
public void setNumber(int number) {
this.number = number;
}

public String toString(){
String str = name+"  "+number;
return str;
}
}

@Test
public void test6() {
Comparator c = new Comparator() {


@Override
public int compare(Object o1, Object o2) {
student ss = (student) o1;
student s = (student) o2;
if (s.getNumber() == ss.getNumber())
return s.getName().compareTo(ss.getName());
else if (s.getNumber() > ss.getNumber())
return 1;
else
return -1;
}
};
Map m = new TreeMap(c);
student stu1 = new student("Mary",20134365),
stu2 = new student("Jane",20134298),
stu3 = new student("Tom",20134404),
stu4 = new student("Jerry",20134289),
stu5 = new student("Smith",20134365);


m.put(stu1, stu1.getNumber());
m.put(stu2, stu2.getNumber());
m.put(stu3, stu3.getNumber());
m.put(stu4, stu4.getNumber());
m.put(stu5, stu5.getNumber());

Set ct = m.keySet();
Iterator te = ct.iterator();
for(int i=0; i < 3;i++){
System.out.println(te.next());
}


}


0 0
原创粉丝点击