说明:通过一个简单的学生管理系统,来练习List&&Set&&Map的使用。
Student类:
package ListDemo;
import java.util.HashSet;
import java.util.Set;
public class Student implements Comparable<Student> {
private String stuID;
private String stuName;
private Set<Course> courses;//学生所选课程集合
public Student(String id,String name){
stuID=id;
stuName=name;
courses=new HashSet<Course>();
}
public String getStuID() {
return stuID;
}
public void setStuID(String stuID) {
this.stuID = stuID;
}
public String getStuName() {
return stuName;
}
public void setStuName(String stuName) {
this.stuName = stuName;
}
public Set<Course> getCourses() {
return courses;
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((stuName == null) ? 0 : stuName.hashCode());
return result;
}
//重写equals方法
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (!(obj instanceof Student))
return false;
Student other = (Student) obj;
if (stuName == null) {
if (other.stuName != null)
return false;
} else if (!stuName.equals(other.stuName))
return false;
return true;
}
//实现Comparable接口的compareTo方法
@Override
public int compareTo(Student o) {
// TODO Auto-generated method stub
return this.getStuID().compareTo(o.getStuID());
}
}
Course类:
package ListDemo;
public class Course {
private String couID;
private String couName;
public Course(String couID,String couName){
this.couID=couID;
this.couName=couName;
}
public String getCouID() {
return couID;
}
public void setCouID(String couID) {
this.couID = couID;
}
public String getCouName() {
return couName;
}
public void setCouName(String couName) {
this.couName = couName;
}
//重写hashCode方法和euqals方法
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((couName == null) ? 0 : couName.hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (!(obj instanceof Course))
return false;
Course other = (Course) obj;
if (couName == null) {
if (other.couName != null)
return false;
} else if (!couName.equals(other.couName))
return false;
return true;
}
}