首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

随机发作10个学生,按ID大小排列

2012-09-03 
随机产生10个学生,按ID大小排列import java.util.ArrayListimport java.util.Collectionsimport java.ut

随机产生10个学生,按ID大小排列

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Random;
import java.util.Comparator;

?

public class Test4 {

?public static void main(String[] args) {
??Random ran=new Random();
??List list=new ArrayList();

??for(int i=0;i<10;i++){
???Student s=new Student();
???s.setId(i+1);
???s.setName(createName());
???s.setAge(ran.nextInt(6)+15);
???list.add(s);
??}

??Collections.sort(list,new StudentComparator());
??/*for(int i=0;i<list.size()-1;i++){

???for(int j=i+1;j<list.size();j++){
????Student s1=(Student)list.get(i);
????Student s2=(Student)list.get(j);
????int age1=s1.getAge();
????int age2=s2.getAge();

????if(age1>age2){

?????//list.set(i, s2);
?????//list.set(j, s1);
?????Collections.swap(list, i, j);

????}
???}

??}*///也可以这样排序

??for(int i=0;i<list.size();i++){

???Student s=(Student)list.get(i);

???System.out.println(s);

??}

?}

?public static String createName(){
??Random ran=new Random();
??int len=ran.nextInt(5)+6;
??String name="";
??for(int i=0;i<len;i++){
???name+=(char)(ran.nextInt(26)+'a');
??}
??return name;
?}
}

class Student {

?private int id;
?private String name;
?private int age;
?public int getId() {
??return id;
?}
?public void setId(int id) {
??this.id = id;
?}
?public String getName() {
??return name;
?}
?public void setName(String name) {
??this.name = name;
?}
?public int getAge() {
??return age;
?}
?public void setAge(int age) {
??this.age = age;
?}

?@Override
?public String toString() {

??return id+"\t"+name+"\t"+age;
?}
?@Override
?public int hashCode() {
??final int prime = 31;
??int result = 1;
??result = prime * result + age;
??result = prime * result + id;
??result = prime * result + ((name == null) ? 0 : name.hashCode());
??return result;
?}
?@Override
?public boolean equals(Object obj) {
??if (this == obj)
???return true;
??if (obj == null)
???return false;
??if (getClass() != obj.getClass())
???return false;
??Student other = (Student) obj;
??if (age != other.age)
???return false;
??if (id != other.id)
???return false;
??if (name == null) {
???if (other.name != null)
????return false;
??} else if (!name.equals(other.name))
???return false;
??return true;
?}

}


class StudentComparator implements Comparator{

?public int compare(Object o1, Object o2) {
??Student s1=(Student)o1;
??Student s2=(Student)o2;
??return s1.getAge()-s2.getAge();
?}

}

?

打印结果:

7?joziywjc?15
9?sqclbqoqpv?15
3?qkpxii?16
4?rsoohwbx?16
8?skjolpg?16
1?swzkdmjh?17
10?vdvpxdu?17
2?awsjwwqneq?18
5?gfiashjeyb?19
6?evjlfdqfrt?19

热点排行