欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

java容器

程序员文章站 2024-01-15 08:46:16
...

java容器

  1. 泛型
    泛型类似于c++里的类模板,不是一个具体的类
class first<E>{
		public  E index(E x,int q);
}
public static void main(String []args){
	first<String> q=new first<String>();
	String v=q.index("wmh',1);
}

在上面的例子中,类first中的E就是String,并且这个类里的所有E都是String.

  1. 容器
    collection(list,set,queue)
    list(arraylist,linkedlist)
    set(hashset,treeset)
    map(hashmap,treemap)

List承诺可以将元素维护在特定的序列中。
LinkedList:底层使用双向链表实现的存储,特点:查询效率低,增删效率高,线程不安全.
ArrayList:底层使用的就是数组,随机访问快,而插入移除比较慢,线程不安全.

Set也是一个集合,但是他的特点是不可以有重复的对象.
HashSet查询速度比较快,但是存储的元素是随机的并没有排序.
TreeSet是将元素存储红-黑树结构中,查询速度没有HashSet快,所以存储的结果是有顺序的(所以如果你想要自己存储的集合有顺序那么选择TreeSet.

HashMap采用是散列函数所以查询的效率是比较高的,如果我们需要一个有序的我们就可以考虑使用TreeMap。HashMap的键可以是null,而且键值不可以重复,如果重复了以后就会对第一个进行键值进行覆盖。

Vector也是基于数组实现的,是一个动态数组,其容量能自动增长,线程安全.安全意味效率低.

相关标签: java容器