58,453
社区成员




import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Hashtable;
public class StudentTest {
static class Student implements Comparable<Student>{
long id;
String name;
int score;
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getScore() {
return score;
}
public void setScore(int score) {
this.score = score;
}
public boolean equals(Object obj) {
if(obj instanceof Student){
Student student = (Student)obj;
return (this.id==student.id && this.name==student.name);
}else{
return super.equals(obj);
}
}
public int hashCode() {
return super.hashCode();
}
public String toString() {
return "id="+id + " name="+name + " score="+score;
}
public int compareTo(Student o) {
return this.score-o.score;
}
}
public static void main(String[] args) {
ArrayList<Student> list = new ArrayList<Student>();
Hashtable<String,Student> map = new Hashtable<String,Student>();
Student[] students = new Student[10];
for(int i=0;i<10;i++){
students[i] = new Student();
students[i].setId(i);
students[i].setName("Student"+i);
students[i].setScore(100-i);
list.add(students[i]);
map.put(students[i].getName(),students[i]);
}
printArray("before:",students);
Arrays.sort(students);
printArray("after:",students);
Collections.sort(list);
printList(list);
printMap(map);
}
private static void printMap(Hashtable<String, Student> map) {
System.out.println();
System.out.print("printMap" + "\n");
for(Student s:map.values()){
System.out.println("\t"+s);
}
System.out.println();
}
private static void printList(ArrayList<Student> list) {
System.out.println();
System.out.print("printList" + "\n");
for(Student s:list){
System.out.println("\t"+s);
}
System.out.println();
}
static void printArray(String keyword,Student[] students){
System.out.println();
System.out.print(keyword + "\n");
for(Student s:students){
System.out.println("\t"+s);
}
System.out.println();
}
}