java学习心得
泛型
一Java泛型中的标记符含义:
E - Element (在集合中使用,因为集合中存放的是元素)
T - Type(Java 类)
K - Key(键)
V - Value(值)
N - Number(数值类型)
?- 表示不确定的java类型
二
1泛型方法:
//泛型方法
//有限制泛型无论类与接口,关键字均为extends
class g<T extends Number> {
public T a;
//定义泛型类的有参构造
public g(T a){
this.a=a;
}
//定义泛型类的方法
public T getA() {
return a;
}
}
public class ff {
public static void main(String[] args) {
//创建对象s
g<Integer> s=new g<Integer>(10);
System.out.println("参数为:"+s.a);
}
}
2泛型数组:
public class ffshuzu<T> {
private T[] a;
public T[] getA() {
return a;
}
public void setA(T[] a) {
this.a = a;
}
public static void main(String[] args) {
ffshuzu<String> s=new ffshuzu<String>();
String[]a={
"a","b","c","d","e"};
s.setA(a);
for (int i=0;i<a.length;i++){
//输出数组中的每个元素
System.out.print(s.getA()[i]+"/");
}
}
}
容器类
一java容器类型:
1java容器主要继承两大接口,分别是Collection和Map。
2List、Set、Queue三大接口继承Collection接口。
3HashMap,TreeMap,LinkedHashMap、ConcurrentHashMap继承Map接口。
二List实现类:
ArrayList:长于随机访问元素,但是在List的中间插入和移除元素时较慢;
LinkedList:它通过代价较低的在List中间进行的插入和删除操作,提供了优化的顺序访问,在随机访问相对较慢,但是它的特性集较ArrayList更大。
1Vector与ArrayList的对比:
Vector是同步的,因此开销比ArrayList大,访问速度更慢。
Vector使用了线程安全,而ArrayList线程不安全。
Vector每次扩容请求是其大小的2倍空间,而ArrayList是1.5倍。
2LinkedList与ArrayList的对比:
ArrayList基于动态数组实现,LinkedList基于双向链表实现。
ArrayList支持随机访问,LinkedList不支持,只支持顺序访问。