首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

什么是差异b/w通用列表和Arraylist,通用列表与HashTable,通用列表对没有通用?

通用列表(Generic List)和ArrayList是两种常见的数据结构,用于存储和操作一组数据。通用列表和HashTable是两种不同的数据结构,用于实现不同的功能。

  1. 通用列表(Generic List)和ArrayList的差异:
  2. 定义:通用列表是一种泛型数据结构,可以存储任意类型的数据,而ArrayList是一种非泛型数据结构,只能存储对象类型的数据。
  3. 类型安全:通用列表在编译时进行类型检查,可以避免类型转换错误,提高代码的安全性和可读性;而ArrayList在运行时需要进行类型转换,可能导致类型不匹配的错误。
  4. 性能:通用列表的性能通常比ArrayList更好,因为通用列表在内部使用数组实现,而ArrayList使用了动态数组,需要进行动态扩容和数据复制。
  5. 可读性:通用列表可以通过泛型参数指定存储的数据类型,使代码更加清晰易懂;而ArrayList需要通过Object类型来存储数据,需要进行类型转换,可读性较差。
  6. 通用列表与HashTable的差异:
  7. 功能:通用列表是一种有序的集合,可以按照索引访问和操作元素;而HashTable是一种键值对的集合,通过键来访问和操作元素。
  8. 存储方式:通用列表使用数组来存储元素,通过索引进行访问;而HashTable使用哈希表来存储键值对,通过键的哈希值进行快速查找。
  9. 效率:通用列表的插入、删除和查找操作的时间复杂度为O(n),其中n为元素的个数;而HashTable的插入、删除和查找操作的平均时间复杂度为O(1)。
  10. 冲突处理:HashTable在处理哈希冲突时需要进行额外的操作,如链表法或开放地址法;而通用列表不需要处理冲突。
  11. 通用列表对没有通用: 通用列表(Generic List)是一种泛型数据结构,可以存储任意类型的数据,因此可以适用于各种场景和需求。通用列表没有特定的限制或局限性,可以灵活地应用于不同的开发场景。

腾讯云相关产品和产品介绍链接地址:

  • 通用列表:腾讯云没有特定的通用列表产品,但可以使用腾讯云提供的云数据库(TencentDB)来存储和管理通用列表数据。详情请参考:腾讯云云数据库
  • ArrayList:腾讯云没有特定的ArrayList产品,但可以使用腾讯云提供的云数据库(TencentDB)来存储和管理ArrayList数据。详情请参考:腾讯云云数据库
  • HashTable:腾讯云没有特定的HashTable产品,但可以使用腾讯云提供的云数据库(TencentDB)来存储和管理HashTable数据。详情请参考:腾讯云云数据库
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Java 最常见的 208 道面试题:第二模块答案

Collection Collections 有什么区别? java.util.Collection 一个集合接口(集合类的一个顶级接口)。它提供了集合对象进行基本操作的通用接口方法。...HashMap Hashtable什么区别? hashMap去掉了HashTable 的contains方法,但是加上了containsValue()containsKey()方法。...Vector同步的,而ArrayList不是。然而,如果你寻求在迭代的时候列表进行改变,你应该使用CopyOnWriteArrayList。...ArrayList比Vector快,它因为有同步,不会过载。 ArrayList更加通用,因为我们可以使用Collections工具类轻易地获取同步列表只读列表。 28....Array没有提供ArrayList那么多功能,比如addAll、removeAlliterator等。 29. 在 Queue 中 poll() remove()有什么区别?

79330

JAVA面试题大全(二)2020版

Collection Collections 有什么区别? java.util.Collection 一个集合接口(集合类的一个顶级接口)。它提供了集合对象进行基本操作的通用接口方法。...HashMap Hashtable什么区别? hashMap去掉了HashTable 的contains方法,但是加上了containsValue()containsKey()方法。...Vector同步的,而ArrayList不是。然而,如果你寻求在迭代的时候列表进行改变,你应该使用CopyOnWriteArrayList。...ArrayList比Vector快,它因为有同步,不会过载。 ArrayList更加通用,因为我们可以使用Collections工具类轻易地获取同步列表只读列表。 11....Array没有提供ArrayList那么多功能,比如addAll、removeAlliterator等。 12. 在 Queue 中 poll() remove()有什么区别?

57620

经典笔试题-集合篇

List 的具体实现包括ArrayList Vector,它们可变大小的列表,比较适合构建、存储操作任何类型对象的元素列表。List 适用于按数值索引访问元素的情形。...Map 提供了一个更通用的元素存储方法。Map 集合类用于存储元素(称作“键”“值”),其中每个键映射到一个值。...【基础】 答:二者都实现了Map 接口,将惟一键映射到特定的值上;主要区别在于: HashMap 没有排序,允许一个null 键多个null 值,而Hashtable 不允许; HashMap 把...Hashtable HashMap 采用的hash/rehash 算法大致一样,所以性能不会有很大的差异。 76、Arraylist Vector 区别?...【基础】 答:就ArrayList Vector 主要从二方面来说: 同步性:Vector 线程安全的(同步),而ArrayList 线程序不安全的; 数据增长:当需要增长时,Vector 默认增长一倍

50110

Java面试之集合

List 的具体实现包括ArrayList Vector,它们可变大小的列表,比较适合构建、存储操作任何类型对象的元素列表。List 适用于按数值索引访问元素的情形。...Map 提供了一个更通用的元素存储方法。Map 集合类用于存储元素(称作“键”“值”),其中每个键映射到一个值。...【基础】 答:二者都实现了Map 接口,将惟一键映射到特定的值上;主要区别在于: 1)HashMap 没有排序,允许一个null 键多个null 值,而Hashtable 不允许; 2)HashMap...Hashtable HashMap 采用的hash/rehash 算法大致一样,所以性能不会有很大的差异。 7、Arraylist Vector 区别?...【基础】 答:就ArrayList Vector 主要从二方面来说: 1)同步性:Vector 线程安全的(同步),而ArrayList 线程序不安全的; 2)数据增长:当需要增长时,Vector

21710

Java 泛型示例 - 泛型方法,类,接口

绑定类型参数可以方法以及类接口一起使用。 Java泛型也支持多个范围,即。在这种情况下,A可以是接口或类。如果A类,则BC应该是接口。在多个范围内,我们不能有多个类。...Java泛型继承 我们知道,如果AB的子类,则Java继承允许我们将变量A分配给另一个变量B。因此,我们可能认为可以将A的任何泛型类型分配给B的泛型类型,但事实并非如此。...Java通用子类型 我们可以通过扩展或实现来泛型一个通用类或接口。一个类或接口的类型参数另一类或接口的类型参数之间的关系由extend实现子句确定。...上限列表类似,我们可以在列表中添加任何内容。...泛型提供了强大的编译时类型检查,并降低了ClassCastException显式对象转换的风险。 12.2)泛型中的T是什么? 我们使用创建通用类,接口方法。

2.6K50

Java集合从菜鸟到大神演变

Collection接口的意义为各种具体的集合提供了最大化的统一操作方式。声明了适用于JAVA集合(只包括SetList)的通用方法。...Set List 都继承了Conllection,Map没有. 2、集合类型 JAVA集合主要分为三种类型:Set(集),List(列表),Map(映射) Set集合:集合元素不能重复的,元素没有顺序的...List(列表): ArrayList 内部结构基于数组实现,可以对元素进行随机的访问,向ArrayList中插入删除元素的速度慢。...Map(映射):   Map基于散列表的实现,Map 一种把键对象值对象映射的集合,它的每一个元素都包含一键对象值对象。...Hashtable HashtableHashMap类似,Hashtable继承自Dictionary类,实现了Map接口,不同的它不允许记录的键或者值为空;HashMap相比,Hashtable

94760

JAVA面试集合的那些问题你都会吗?

然而,把它放到集合的所有实现中也是没有意义的。这是因为Collection一个抽象表现。重要的实现。 当具体实现打交道的时候,克隆或序列化的语义含义才发挥作用。...Map包含key-value,它提供抽取key或value列表集合的方法,但是它不适合“一组对象”规范。 6.什么迭代器(Iterator)?...13.HashMapHashtable什么区别? 1、HashMap是非线程安全的,HashTable线程安全的。...(3)ArrayList更加通用,因为我们可以使用Collections工具类轻易地获取同步列表只读列表。 16.ArrayArrayList有何区别?什么时候更适合用Array?...Array没有提供ArrayList那么多功能,比如addAll、removeAlliterator等。尽管ArrayList明显更好的选择,但也有些时候Array比较好用。

75030

Java集合框架

] b1712b236bcf6aa63cea8c3de290e9b7.png 通过集合框架的分析其主要可以分为如下几个部分 数据结构:List列表、Queue队列、Deque双端队列、Set集合、Map...ArrayList 大部分的方法 Vector 比较相似,两者的主要差别为,Vector 允许同步访问的,Vector 中的操作线程安全的,但是效率低,而 ArrayList 所有的操作都是异步的...4.2、LinkedHashMap HashMap 的子类,内部使用链表数据结构来记录插入的顺序,使得输入的记录顺序输出的记录顺序相同的。这就是其HashMap 的不同之处。...4.6、Hashtable Hashtable,一个元老级的类,键值不能为空,HashMap不同的,方法都加了synchronized同步锁,线程安全的,导致效率较慢。...4.7、Properties Properties 继承于 Hashtable,表示一个持久的属性集,属性列表中每个键及其对应值都是一个字符串。

96700

笔记(三) - Java集合

image.png 2.ArrayList LinkedList 的区别 1、是否保证线程安全:ArrayList LinkedList 都不是同步的,不保证线程安全 2、底层数据结构:ArrayList...底层使用的数组,LinkedList底层使用的双向链表数据结构 3、插入、删除是否受元素位置的影响: (1)ArrayList采用的数组结构,插入删除的时间复杂度受元素位置的影响 (2)LinkedList...此接口的主要目的允许通用算法更改其行为,以便在应用于随机访问列表或顺序访问列表时提供良好的性能 image.png image.png 通过以上可以看,ArrayList支持随机访问,使用for循环比使用...ArrayList不是同步的,在不需要保证线程安全的情况时建议使用ArrayList VectorArrayList一样,也是通过数组实现的,不同的它支持线程的同步,即某一时刻只有一个线程能够写Vector...image.png 5.HashMap HashTable 的区别 1、是否线程安全:HashMap是非线程安全的,HashTable线程安全的。

25610

Java中的集合-您必须知道的13件事

1.什么Java Collections Framework? 集合就像容器一样,将多个项目组合在一个单元中。例如,一罐巧克力,一组名称等。...大多数的Deque实现它们可能包含的元素数量没有固定的限制,但是此接口支持容量平均值的双端数值以及没有固定大小限制的双端数值。 此接口定义访问双端双向对称的元素的方法。...4.3)ArrayList类 Java ArrayListList接口的可调整大小的数组实现。实现所有可选的列表操作,并允许所有元素,包括null。...LinkedList实现比例,常数因子降低。 4.4)LinkedList类 ListDeque接口的双链接列表实现。实现所有可选的列表操作,并允许所有元素(包括null)。...HashMap的类Hashtable的大致等效,但它是不同步的,并且允许为空。此类无法保证Map的顺序。 此实现为基本操作(getput)提供了恒定时间的性能。

86240

【quxuecx每周三面】List,SetMap详解

Java中的集合包括三大类,它们Set(集)、List(列表Map(映射),它们都处于java.util包中,Set、ListMap都是接口,它们有各自的实现类。...Collection最基本的集合接口,声明了适用于JAVA集合的通用方法,listset都继承自collection接口。...允许元素进行快速随机访问,但是向List中间插入移除元素的速度很慢。ListIterator只应该用来由后向前遍历 ArrayList,而不是用来插入移除元素。...看看get()要做哪些事,就会明白为什么ArrayList中搜索“键”相当慢的。而这正是HashMap提高速 度的地方。...Map : 维护“键值”的关联性,使你可以通过“键”查找“值” HashMap:Map基于散列表的实现。插入查询“键值”的开销固定的。

86610

简答一波 HashMap 常见八股面试题 —— 算法系列(2)

---- 这篇文章数据结构算法系列文章第 2 篇,专栏文章列表: 一、数据结构基础: 1、线性表(ArrayList & LinkedList 实现) 2、散列表(HashMap 实现)(本文) 3...常规的哈希冲突解决方法有开放地址法拉链法等,而 HashMap 采用的拉链法来解决哈希冲突。 第 3 点:为什么 Java 8 要引入红黑树的设计呢?...我认为 Java 给予 HashMap 的定位一个相对通用的散列表容器,它应该在面对各种输入的时候都表现稳定。...4.2 HashMap hashTable 的区别?...1、hashTable 每个方法都增加了 synchronized; 2、hashTable 不允许 null 作为 Key; 4.3 ConcurrentHashMap 分段锁的原理 HashMap

43120

Java面试题-集合框架篇三

Vector默认增长为原来两倍,而ArrayList的增长策略在文档中没有明确规定(从源代码看到的增长为原来的1.5倍)。...ArrayListVector都可以设置初始的空间大小,Vector还可以设置增长的空间大小,而ArrayList没有提供设置增长空间的方法。...List,Set,Map不是 5、List、Map、Set三个接口,存取元素时,各有什么特点? (这样的题比较考水平,两个方面的水平:一要真正明白这些内容,二要有较强的总结表述能力。)...最常用的集合类 List Map。 List的具体实现包括 ArrayList Vector,它们可变大小的列表,比较适合构建、存储操作任何类型对象的元素列表。...Map 提供了一个更通用的元素存储方法。 Map集合类用于存储元素(称作"键""值"),其中每个键映射到一个值。 它们都有增删改查的方法。

53130

集合篇

Vector默认增长为原来两倍,而ArrayList的增长策略在文档中没有明确规定(从源代码看到的增长为原来的1.5倍)。...ArrayListVector都可以设置初始的空间大小,Vector还可以设置增长的空间大小,而ArrayList没有提供设置增长空间的方法。    ...Collections针对集合类的一个帮助类,他提供一系列静态方法实现各种集合的搜索、排序、线程安全化等操作。 9、Set里的元素不能重复的,那么用什么方法来区分重复与否呢?...最常用的集合类 List Map。 List的具体实现包括 ArrayList Vector,它们可变大小的列表,比较适合构建、存储操作任何类型对象的元素列表。...Map 提供了一个更通用的元素存储方法。 Map集合类用于存储元素(称作"键""值"),其中每个键映射到一个值。         它们都有增删改查的方法。

56970

招银网络科技,心痛拒了!

也可以直接使用 CopyOnWriteArrayList,它是线程安全的,遵循写时复制的原则,每当列表进行修改(例如添加、删除或更改元素)时,都会创建列表的一个新副本,这个新副本会替换旧的列表,而对旧列表的所有读取操作仍然可以继续...①、HashTable 直接在方法上加 synchronized 关键字,比较粗暴。...三分恶面渣逆袭:AOP应用示例 业务代码不再关心这些通用逻辑,只需要关心自己的业务实现,这样就实现了业务逻辑通用逻辑的分离。...所谓的IoC(控制反转,Inversion of Control),就是由容器来控制对象的生命周期对象之间的关系。以前我们想要什么就自己创建什么,现在我们需要什么容器就帮我们送来什么。...就好像 A 类需要 B 类,以前 A 类自己 new 一个 B 类,现在有人把 B 类注入到 A 类里。 UDPTCP的区别? TCP 面向连接的,而 UDP 无连接的。

7110

2020最新总结大厂Java高频面试题(含答案解析)

Collection Collections 有什么区别? java.util.Collection 一个集合接口(集合类的一个顶级接口)。它提供了集合对象进行基本操作的通用接口方法。...HashMap Hashtable什么区别? hashMap去掉了HashTable 的contains方法,但是加上了containsValue()containsKey()方法。...Vector同步的,而ArrayList不是。然而,如果你寻求在迭代的时候列表进行改变,你应该使用CopyOnWriteArrayList。...ArrayList比Vector快,它因为有同步,不会过载。 ArrayList更加通用,因为我们可以使用Collections工具类轻易地获取同步列表只读列表。 28....Array没有提供ArrayList那么多功能,比如addAll、removeAlliterator等。 29. 在 Queue 中 poll() remove()有什么区别?

2.2K20

40个Java集合类面试题答案

然而,把它放到集合的所有实现中也是没有意义的。这是因为Collection一个抽象表现。重要的实现。 当具体实现打交道的时候,克隆或序列化的语义含义才发挥作用。...Map包含key-value,它提供抽取key或value列表集合的方法,但是它不适合“一组对象”规范。 6.Iterator是什么?...(3)ArrayList更加通用,因为我们可以使用Collections工具类轻易地获取同步列表只读列表。 24.ArrayArrayList有何区别?什么时候更适合用Array?...ArrayList、HashMap、TreeMapHashTable类提供元素的随机访问。 27.EnumSet是什么? java.util.EnumSet使用枚举类型的集合实现。...栈队列很相似,但它允许元素进行后进先出(LIFO)进行检索。 Stack一个扩展自Vector的类,而Queue一个接口。 32.Collections类是什么

61730

40个Java集合面试问题答案

然而,把它放到集合的所有实现中也是没有意义的。这是因为Collection一个抽象表现。重要的实现。 当具体实现打交道的时候,克隆或序列化的语义含义才发挥作用。...(3)ArrayList更加通用,因为我们可以使用Collections工具类轻易地获取同步列表只读列表。 24.ArrayArrayList有何区别?什么时候更适合用Array?...Array没有提供ArrayList那么多功能,比如addAll、removeAlliterator等。尽管ArrayList明显更好的选择,但也有些时候Array比较好用。...ArrayList、HashMap、TreeMapHashTable类提供元素的随机访问。 27.EnumSet是什么? java.util.EnumSet使用枚举类型的集合实现。...栈队列很相似,但它允许元素进行后进先出(LIFO)进行检索。 Stack一个扩展自Vector的类,而Queue一个接口。 32.Collections类是什么

77130
领券