Java----泛型与集合
一、泛型
1、泛型的安全机制
泛型作用:强制了集合存储固定的数据类型
2、书写格式
//集合类<>
3、泛型的好处
4、泛型中的E
ArrayList<String> ar = new ArrayList<String>();
//此时E变成String类型
5、自定义泛型类
public class MyGe<MY> {
private MY i;
public void setI(MY i){
this.i = i;
}
public MY getI(){
return i;
}
}
public class GeTest {
public static void main(String[] args) {
MyGe<String> my = new MyGe<String>();
my.setI("my");
String str = my.getI();
System.out.println(str);
}
}
6、自定义泛型方法
//非静态方法
public void print(MY my){
System.out.println(my);
}
//静态自定义泛型方法
public static <A>void print1(A a){
System.out.println(a);
}
说明:
7、泛型接口
方法1:
//定义接口
public interface In <A>{
public abstract void print2(A a);
}
//实现类实现接口重写方法
public class GeTest2<A> implements In<A>{
public void print2(A a){
System.out.println(a);
}
}
//调用实现类
public class Test1 {
public static void main(String[] args) {
In<String> in = new GeTest2<String>();
in.print2("abc");
}
}
方法2
//泛型接口的使用方法2
public class GeTest3 implements In<String>{
public void print2(String s){
System.out.println(s);
}
}
8、泛型通配符
public static void ha(List<?> list){
}
//<?>表示通配符:可以传任何类型
9、泛型限定
泛型限定:限制的是数据类型
二、Map集合
1、Map接口方法
2、Map集合的遍历-键值对映射关系
三、HashMap集合特点
四、LinkedHashMap集合
继承于HashMap集合实现Map接口,LinkedHashMap底层事项原理是哈希表,双向链,存储有序,特性和HashMap一样
五、Hashtable
特点
六、TreeMap
特点