墨陌之提示您:看后求收藏(车毅小说网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、可靠安全
本章未完,请点击下一页继续阅读!