泛型的初体验

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);
    }
}

好啦,今天就讲到这里。欢迎大家评论点赞转发哦。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值