1.(1)定义类Student(学号,姓名,性别,年龄),让其实现接口Comparable,以使Student对象按学号为自然顺序(2)定义Student对象泛型列表集合,分别以自然顺序和年龄顺序输出。
2定义一个继承自ArrayList的泛型栈类GenericStack,测试程序中输入五个字符串放入栈然后输出栈的所有元素。
项目结构:
运行结果:
第一张
第二张
源代码:
package com.serein.d4_generic;
import java.util.ArrayList;
/**
* 本人目前在学javaSE,对代码有疑问或者欲交流java技术者,可加QQ1879340731探讨之。
*/
public class GenericStack<T> {
private ArrayList list = new ArrayList<>();
public void add(T t){
list.add(t);
}
@Override
public String toString() {
return "GenericStack{" +
"list=" + list +
'}';
}
}
package com.serein.d4_generic;
public class GenericStackTest {
public static void main(String[] args) {
GenericStack<String> list = new GenericStack<>();
list.add("柳毅");
list.add("甄町昆");
list.add("徐艺术");
list.add("盘古");
list.add("祝铎");
System.out.println(list);
}
}
package com.serein.d4_generic;
public class Student implements Comparable<Student>{
private int studentNumber;
private String name;
private char sex;
private int age;
public Student() {
}
public Student(int studentNumber, String name, char sex, int age) {
this.studentNumber = studentNumber;
this.name = name;
this.sex = sex;
this.age = age;
}
public int getStudentNumber() {
return studentNumber;
}
public void setStudentNumber(int studentNumber) {
this.studentNumber = studentNumber;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public char getSex() {
return sex;
}
public void setSex(char sex) {
this.sex = sex;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
return "Student{" +
"studentNumber=" + studentNumber +
", name='" + name + '\'' +
", sex=" + sex +
", age=" + age +
'}';
}
@Override
public int compareTo(Student o) {
return this.studentNumber -o.studentNumber ;
}
}
// for (Student setstudent : studentTreeSet) {
// StudentTreeMap.put( setstudent.getStudentNumber()+"",setstudent);
// }
//
// Set<String> strings = StudentTreeMap.keySet();
// for (String xh : strings) {
// System.out.println(StudentTreeMap.get(xh));
// }
package com.serein.d4_generic;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
public class StudentTest {
public static void main(String[] args) {
List<Student> students = new ArrayList<>();
students.add(new Student(001,"祝铎",'男',20));
students.add(new Student(004,"施金城",'男',22));
students.add(new Student(002,"柳于泳",'男',21));
students.add(new Student(003,"周芷若",'女',18));
/**
* Student实现Compare接口。基于Student类重写的compare方法,按学号排序
*/
Collections.sort(students);
System.out.println("按学号排序:");
System.out.println(students);
/**
* 按年龄排序
*/
Collections.sort(students, new Comparator<Student>() {
@Override
public int compare(Student o1, Student o2) {
return o1.getAge() - o2.getAge();
}
});
System.out.println("按年龄排序:");
System.out.println(students);
}
}
好啦,今天就讲到这里。欢迎大家评论点赞转发哦。