Java 采用泛型 实现通过学员英文名查找学员对应信息

|--需求说明

|--实现思路

1、创建学员类,用于初始化信息

2、采用map储存数据,key储存学员的英文名,value储存学员的其他信息

3、通过判断map中有没有用户输入的英文名来判断是否给出学员信息

|--代码内容

 1 package kehou;
 2
 3 /**
 4  * @auther::9527
 5  * @Description: 学生类
 6  * @program: gaoJiTeXing
 7  * @create: 2019-07-27 10:36
 8  */
 9 public class Student {
10     private String ename;   //英文名
11     private String cname;  //中文名
12     private int id;        //员工工号
13     private String gender;   //性别
14
15     public Student() {
16     }
17
18     public Student(String ename, String cname, int id, String gender) {
19         this.ename = ename;
20         this.cname = cname;
21         this.id = id;
22         this.gender = gender;
23     }
24
25     public String getEname() {
26         return ename;
27     }
28
29     public void setEname(String ename) {
30         this.ename = ename;
31     }
32
33     public String getCname() {
34         return cname;
35     }
36
37     public void setCname(String cname) {
38         this.cname = cname;
39     }
40
41     public int getId() {
42         return id;
43     }
44
45     public void setId(int id) {
46         this.id = id;
47     }
48
49     public String getGender() {
50         return gender;
51     }
52
53     public void setGender(String gender) {
54         this.gender = gender;
55     }
56 }

学员类---初始化基础信息

 1 package kehou;
 2
 3 import java.util.HashMap;
 4 import java.util.Scanner;
 5
 6 /**
 7  * @auther::9527
 8  * @Description: 程序入口
 9  * @program: gaoJiTeXing
10  * @create: 2019-07-27 10:45
11  */
12 public class StudentTest {
13     static Scanner scanner = new Scanner(System.in);
14     public static void main(String[] args) {
15         //String eName, String cName, int id
16         Student st1 = new Student("Jack","李霖",58,"男");
17         Student st2 = new Student("Jone","郑书豪",25,"男");
18         Student st3 = new Student("Tom","黎明",32,"女");
19         Student st4 = new Student("Evan","李明丽",8,"女");
20
21         //创建map集合
22         HashMap<String,Student> map = new HashMap<>();
23         map.put(st1.getEname(),st1);
24         map.put(st2.getEname(),st2);
25         map.put(st3.getEname(),st3);
26         map.put(st4.getEname(),st4);
27
28        //接受用户信息
29         System.out.println("请输入学员英文名");
30         String ename = scanner.next();
31
32         //根据用户输入的信息进行查找
33         if (map.containsKey(ename)){
34             System.out.println("姓名是:"+map.get(ename).getCname()+"\t性别是:"+map.get(ename).getGender());
35         }else {
36             System.out.println("没有你要找的人");
37         }
38     }
39 }

程序入口

|--运行结果

原文地址:https://www.cnblogs.com/twuxian/p/11254357.html

时间: 2024-10-25 14:56:38

Java 采用泛型 实现通过学员英文名查找学员对应信息的相关文章

28.使用泛型根据学员英文名找到学员对象

package entity; public class Student { private String name; // 学员姓名 private String sex; // 学员性别 public Student() { } public Student(String name, String sex) { this.name = name; this.sex = sex; } public String getName() { return name; } public void se

集合练习:根据学院英文名找到学员对象

包装学生类: /** * @author Administrator * 学生类 */ public class Students { private String name; private char sex; public String getName() { return name; } public void setName(String name) { this.name = name; } public char getSex() { return sex; } public voi

java的泛型与反射机制

什么是泛型? 泛型,即"参数化类型".顾名思义,就是将类型由原来的具体的类型参数化,类似于方法中的变量参数,此时类型也定义成参数形式(可以称之为类型形参),然后在使用/调用时传入具体的类型(类型实参). 为什么要使用泛型? 先看如下代码: public class GenericTest { public static void main(String[] args) { List list = new ArrayList(); list.add("qqyumidi"

Java基础---泛型、集合框架工具类:collections和Arrays

第一讲     泛型(Generic) 一.概述 1.JDK1.5版本以后出现的新特性.用于解决安全问题,是一个类型安全机制. 2.JDK1.5的集合类希望在定义集合时,明确表明你要向集合中装入那种类型的数据,无法加入指定类型以外的数据. 3.泛型是提供给javac编译器使用的可以限定集合中的输入类型说明的集合时,会去掉“类型”信息,使程序运行效率不受影响,对参数化的泛型类型,getClass()方法的返回值和原始类型完全一样. 4.由于编译生成的字节码会去掉泛型的类型信息,只要能跳过编译器,就

学习JAVA应该去的20个英文网站(java学习网站)

学习JAVA应该去的20个英文网站(java学习网站)  1. http://www.javaalmanac.com     Java开发者年鉴一书的在线版本. 要想快速查到某种Java技巧的用法及示例代码, 这是一个不错的去处.  2. http://www.onjava.com     O'Reilly的Java网站. 每周都有新文章.  3. http://java.sun.com     官方的Java开发者网站 - 每周都有新文章发表.  4. http://www.developer

Java中泛型的协变

在工作中遇到一个问题,用代码描述如下: package test; import java.util.LinkedList; import java.util.List; public class ListTest {     public void func(List<Base> list) {     }     public static void main(String args[]) {         ListTest lt = new ListTest();         Li

Java 容器 & 泛型:一、认识容器

Writer:BYSocket(泥沙砖瓦浆木匠) 微博:BYSocket 豆瓣:BYSocket 容器是Java语言学习中重要的一部分.泥瓦匠我的感觉是刚开始挺难学的,但等你熟悉它,接触多了,也就"顺理成章"地知道了.Java的容器类主要由两个接口派生而出:Collection和Map. 一.Collection vs Collections 首先,Collection 和 Collections 是两个不同的概念.之所以放在一起,是为了更好的比较.Collection是容器层次结构中

Java 泛型 Java使用泛型的意义

Java 泛型 Java使用泛型的意义 @author ixenos 直接意义 在编译时保证类型安全 根本意义 a) 类型安全问题源自可复用性代码的设计,泛型保证了类型安全的复用模板 b) 使用复用性模板时不用手动强制类型转换 三种泛型实现方式的优缺点 C++:模板方式实现,在编译时完全展开并且支持偏特化,类型精度高,代码共享差: Java 5:擦除方式实现,仅用于编译时类型检查,在运行时擦除,向后兼容性好,代码共享好,类型精度非常差: C# 2.0:混合方式实现,在运行时展开特化,类型精度高,

Effective Java之泛型

泛型是Java在JDK1.5版本中引入的一个特性,泛型的出现大大增强了Java代码运行时的安全性,泛型主要应用于容器类中,因为这些类会包含各种各样的其他类,所以需要用泛型来对容器中所包含的类进行约束,比如为List传入一个String的类型参数,那么,这个List对象就只能包含有String类型的类,而不能向1.5之前的原始版本一样,可以包含各种不同的类,泛型的引入大大增强了集合类的约束,减少在使用集合类时报类型转换错误的概率. 书里面建议,在使用数组时尽量采用泛型容器,而不是基本的数组类型,里