java学习---泛型和容器类

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不支持,只支持顺序访问。

猜你喜欢

转载自blog.csdn.net/m0_63599362/article/details/121725498