学习网站建设的是什么专业,wordpress导入模板不一样,大一html5网页设计代码,3d全景网站怎么做这两个类都实现了List接口#xff08;List接口继承了Collection接口#xff09;#xff0c;他们都是有序集合#xff0c;即存储在这两个集合中的元素的位置都是有顺序的#xff0c;相当于一种动态的数组#xff0c;我们以后可以按位置索引号取出某个元素#xff0c;并且…这两个类都实现了List接口List接口继承了Collection接口他们都是有序集合即存储在这两个集合中的元素的位置都是有顺序的相当于一种动态的数组我们以后可以按位置索引号取出某个元素并且其中的数据是允许重复的这是HashSet之类的集合的最大不同处HashSet之类的集合不可以按索引号去检索其中的元素也不允许有重复的元素本来题目问的与hashset没有任何关系但为了说清楚ArrayList与Vector的功能我们使用对比方式更有利于说明问题。 接着才说ArrayList与Vector的区别这主要包括两个方面 1同步性 Vector是线程安全的也就是说是它的方法之间是线程同步的而ArrayList是线程序不安全的它的方法之间是线程不同步的。如果只有一个线程会访问到集合那最好是使用ArrayList因为它不考虑线程安全效率会高些如果有多个线程会访问到集合那最好是使用Vector因为不需要我们自己再去考虑和编写线程安全的代码。 (备注对于VectorArrayList、HashtableHashMap要记住线程安全问题记住Vector与Hashtable是旧的是java一诞生就提供的它们是线程安全的ArrayList与HashMap是java2时才提供的它们是线程不安全的。所以我们讲课时先讲老的。) 2数据增长 ArrayList与Vector都有一个初始的容量大小当存储进它们里面的元素的个数超过了容量时就需要增加ArrayList与Vector的存储空间每次要增加存储空间时不是只增加一个存储单元而是增加多个存储单元每次增加的存储单元的个数在内存空间利用与程序效率之间要取得一定的平衡。Vector默认增长为原来两倍而ArrayList的增长策略在文档中没有明确规定从源代码看到的是增长为原来的1.5倍。ArrayList与Vector都可以设置初始的空间大小Vector还可以设置增长的空间大小而ArrayList没有提供设置增长空间的方法。 总结即Vector增长原来的一倍ArrayList增加原来的0.5倍。转载于:https://www.cnblogs.com/yuyu666/p/9741335.html