java容器
程序员文章站
2024-01-15 08:46:16
...
java容器
-
泛型
泛型类似于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.
- 容器
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也是基于数组实现的,是一个动态数组,其容量能自动增长,线程安全.安全意味效率低.