java泛型

 1 //泛型
 2 //Collection,map接口中都可以使用
 3 //作用
 4 //1)数据安全
 5 //2)防止类型转换时出错
 6 //list.add(默认是object)
 7 //如果加了Double泛型则自动变成list.add(double...)会直接返回double类型的数据
 8 //以Double泛型为例,如果不加泛型,则默认操作的是Object,如果加了Double泛型,则默认操作的是double类型
 9 package daystudy;
10 
11 import java.util.*;
12 
13 public class Demo04 {
14     private String key;
15 
16     public static void main(String[] args) {
17        // List<String> list=new ArrayList<String>();
18         List<String> list = new ArrayList<>() ;//jdk1.7之后提供类型推断
19         //list.add("a");
20         list.add("1");
21         String s=list.get(0);
22         System.out.println(s);
23 
24         Set<String> set=new HashSet<>();
25         set.add("aa");
26         //学号,名次
27         Map<String,Integer> map=new HashMap<>();
28         map.put("S01",3);
29         map.put("S02",2);
30         map.put("S03",1);
31 
32         Set<Map.Entry<String,Integer>> entries=map.entrySet();
33         for (Map.Entry<String,Integer> entry:entries){
34             System.out.println(entry.getKey());
35             System.out.println(entry.getValue());
36         }
37         System.out.println("迭代器......");
38         //取key
39         Set<String> keys=map.keySet();
40         //遍历key
41         Iterator<String> iterator=keys.iterator();
42         while (iterator.hasNext()){
43             String key= iterator.next();
44             Integer value=map.get(key);
45             System.out.println(key+"--"+value);
46         }
47 
48     }
49 }

 

 1 package col;
 2 
 3 public class Person {
 4        private String name;
 5        private int age;
 6        private String city;
 7     public String getName() {
 8         return name;
 9     }
10     public void setName(String name) {
11         this.name = name;
12     }
13     public int getAge() {
14         return age;
15     }
16     public void setAge(int age) {
17         this.age = age;
18     }
19     public String getCity() {
20         return city;
21     }
22     public void setCity(String city) {
23         this.city = city;
24     }
25     
26     public Person(String name, int age, String city) {
27         this.name = name;
28         this.age = age;
29         this.city = city;
30     }
31     @Override
32     public String toString() {
33         return "Person [name=" + name + ", age=" + age + ", city=" + city + "]";
34     }
35        
36 }

 

 1 //根据人名,查询这个人的全部信息
 2 package col;
 3 
 4 import java.util.HashMap;
 5 import java.util.Map;
 6 import java.util.Scanner;
 7 
 8 public class Demo5 {
 9 
10     public static void main(String[] args) {
11         Map<String, Person> map = new HashMap<>();
12         Person p1 = new Person("张三", 23, "阜阳");
13         Person p2 = new Person("李四", 24, "亳州");
14         Person p3 = new Person("王二", 25, "宿州");
15         Person p4 = new Person("麻子", 26, "安庆");
16         Person p5 = new Person("大傻", 27, "泰安");
17         // key:名字 value:人
18         map.put("张三", p1);
19         map.put("李四", p2);
20         map.put("王二", p3);
21         map.put("麻子", p4);
22         map.put("大傻", p5);
23 
24         System.out.println("请输入人的名字");
25         Scanner in = new Scanner(System.in);
26         String name = in.next();
27         Person person = map.get(name);
28         System.out.println(person);
29         // 如果不是null,在打印时会调用toString;如果是null,则不调用。
30 //     System.out.println(person.toString());
31 
32 //     Set<String> names = map.keySet();
33 //     //在names中查找name
34 //     for(String n :names){
35 //         if(n.equals( name )){
36 //             Person person = map.get(n);
37 //             System.out.println(person);
38 //         }
39 //     }
40 
41     }
42 }

 

posted @ 2020-11-22 01:01  丁帅帅dss  阅读(97)  评论(0)    收藏  举报