车毅小说网

第8章 逃难8【1 / 2】

墨陌之提示您:看后求收藏(车毅小说网http://www.cheyil.com),接着再看更方便。

2000字打个卡,今天又排位了。

list—是一个有序的集合,可以包含重复的元素,提供了按索引访问的方式,它继承collection。 list有两个重要的实现类:arraylist和linkedlist

arraylist: 可以看作是能够自动增长容量的数组arraylist的toarray方法返回一个数组arraylist的aslist方法返回一个列表

arraylist底层的实现是array, 数组扩容实现

linklist是一个双链表,在添加和删除元素时具有比arraylist更好的性能但在get与set方面弱于arraylist当然,这些对比都是指数据量很大或者操作很频繁。

12、 hashmap和hashtable的区别

1、两者父类不同

hashmap是继承自abstractmap类,而hashtable是继承自dictionary类。不过它们都实现了同时实现了map、cloneable(可复制)、serializable(可序列化)这三个接口。

2、对外提供的接口不同

hashtable比hashmap多提供了elments() 和contains() 两个方法。

elments() 方法继承自hashtable的父类dictionnary。elements() 方法用于返回此hashtable中的

value的枚举。

contains()方法判断该hashtable是否包含传入的value。它的作用与containsvalue()一致。事实上, contansvalue() 就只是调用了一下contains() 方法。

3、对null的支持不同

hashtable:key和value都不能为null。

hashmap:key可以为null,但是这样的key只能有一个,因为必须保证key的唯一性;可以有多个key

值对应的value为null。

4、安全性不同

hashmap是线程不安全的,在多线程并发的环境下,可能会产生死锁等问题,因此需要开发人员自己 处理多线程的安全问题。

hashtable是线程安全的,它的每个方法上都有synchronized 关键字,因此可直接用于多线程中。

虽然hashmap是线程不安全的,但是它的效率远远高于hashtable,这样设计是合理的,因为大部分的 使用场景都是单线程。当需要多线程操作的时候可以使用线程安全的concurrenthashmap。

concurrenthashmap虽然也是线程安全的,但是它的效率比hashtable要高好多倍。因为concurrenthashmap使用了分段锁,并不对整个数据进行锁定。

5、初始容量大小和每次扩充容量大小不1、 java语言有哪些特点

1、简单易学、有丰富的类库

2、面向对象(java最重要的特性,让程序耦合度更低,内聚性更高)

3、与平台无关性(jvm是java跨平台使用的根本)

4、可靠安全

本章未完,请点击下一页继续阅读!