标签:new book -- 取值 main 泛型 class gen stat
容器(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
标签:new book -- 取值 main 泛型 class gen stat
原文地址:https://www.cnblogs.com/syx1997/p/9025301.html