5.11 泛型Generic ,Map接口
Posted syx1997
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了5.11 泛型Generic ,Map接口相关的知识,希望对你有一定的参考价值。
容器(Collection)
泛型(Generic)(JDK1.5之后才有泛型)
1, 装入集合的类型都被当作Object对待, 从而失去了自己的实际类型
2, 集合中秋出来的时候需要转型, 效率低, 易出错
好处: 增强程序的可读性和稳定性
注意: <>中定义的类型一定是引用类型 !!!
泛型写法
import java.util.ArrayList; import java.util.List; public class Test2 { public static void main(String[] args) { List<Book> list = new ArrayList<Book>(); //< >里写什么,方法跟着一块变 list.add(new Book()); } }
Map 接口 :< >必须存两个类型
import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; import java.util.Map; import java.util.Set; public class Test2 { public static void main(String[] args) { Map<String,String> map = new HashMap<String, Object>(); //必须传两个类 Map<String, Object> map = new HashMap<String, Object>(); //Object是传什么类型都可以 map.put("a", "小明"); map.put("b", new Book()); System.out.println(map); // 打印出b=Book name=null map.put("c", 123); map.put("a", 456); } }
Map集合 的方法
put(有个返回值Object)
get
remove(也有个返回值)
containsKey
containsValue
size
isEmpty
putAll
clear
keySet---Set
values---Conllection
put方法
import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; import java.util.Map; import java.util.Set; public class Test2 { public static void main(String[] args) { Map<String, Object> map = new HashMap<String, Object>(); Object o1 = map.put("a", "小明"); Object o2 = map.put("b", new Book()); Object o3 = map.put("c", 123); Object o4 = map.put("a", 456); System.out.println(o1); System.out.println(o2); System.out.println(o3); System.out.println(o4); //以上会打印 null null null 小明 put 严格来讲不是往里添加,而是把原来的那个剑换成另一个值 一开始实例化一个Map对象的时候,是没有a,小明这个值的, 硬要获取值的话只能获取到null,这时候获取一下返回值o1, null就会给o1,当新添加一个a的时候,原来的值就会返回来 } }
get 方法 通过一个箭去取一个值
import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; import java.util.Map; import java.util.Set; public class Test2 { public static void main(String[] args) { Map<String, Object> map = new HashMap<String, Object>(); Object o1 = map.put("a", "小明"); Object o2 = map.put("b", new Book()); Object o3 = map.put("c", 123); Object o4 = map.put("a", 456); System.out.println(map.get("c")) //会打印出123 } }
remove
以上是关于5.11 泛型Generic ,Map接口的主要内容,如果未能解决你的问题,请参考以下文章
Java 泛型 - Make Generic 扩展 2 个接口
Java基础之Comparable接口, Collections类,Iterator接口,泛型(Generic)
Collection-Iterator-foreach-泛型(Generic)
Java之集合初探Iterator(迭代器),collections,打包/解包(装箱拆箱),泛型(Generic),comparable接口