求教:Collection、Vector、Set、Map等各种集合类的特点和区别 rt 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 首先Collection和Map是两个毫无关系的接口,Collection是对象集合,Map是键值对集合Collection有两个子接口List和SetList可以通过下标(1,2..)来取得值,值可以重复而Set只能通过游标来取值,并且值是不能重复的ArrayList,Vector,LinkedList是List的实现类ArrayList是线程不安全的,Vector是线程安全的,这两个类底层都是由数组实现的LinkedList是线程不安全的,底层是由链表实现的HashTable和HashMap是Map的实现类HashTable是线程安全的,不能存储null值HashMap不是线程安全的,可以存储null值还有什么不明白的吗?? 这个要看你拿来做什么用了....比如实现Collection接口的类,如果底层是用数组实现,那么添加新元素花费的时间会比较多,因为他要保证这个数组的容量足够大,所以在每添加一个新元素的时候都要自动扩大数组容量....如果实现Collection接口的类底层是用链表实现,那么他查找一个元素所花费的时间会比较长,因为他不能通过下标来查找,只能一个个的遍历....所以在add()操作比较多的时候用LinkedList性能比较好,在search()操作比较多的时候用ArrayList和Vector比较好 java wait()的一个问题 jni的内存泄漏问题 表单自提交得不到text中的值。 .class文件可以new 吗? java demo 請問大家是否有 JBuilder 7.0 serial number key 幫忙郵我一個我是 http://libo-lighting.51.net/javajia/download.php 從下載的! 看过来! 请问有谁对java.awt.dnd.*包比较熟,能大致讲一下吗! 字符串问题! 求助!大神们看看我这到底是怎么回事! 这段代码有逻辑方面的问题么? 50分 在线等 <identifier> expected错误,详情内示
Collection有两个子接口List和Set
List可以通过下标(1,2..)来取得值,值可以重复
而Set只能通过游标来取值,并且值是不能重复的
ArrayList,Vector,LinkedList是List的实现类
ArrayList是线程不安全的,Vector是线程安全的,这两个类底层都是由数组实现的
LinkedList是线程不安全的,底层是由链表实现的
HashTable和HashMap是Map的实现类
HashTable是线程安全的,不能存储null值
HashMap不是线程安全的,可以存储null值
还有什么不明白的吗??
比如实现Collection接口的类,如果底层是用数组实现,那么添加新元素花费的时间会比较多,因为他要保证这个数组的容量足够大,所以在每添加一个新元素的时候都要自动扩大数组容量....如果实现Collection接口的类底层是用链表实现,那么他查找一个元素所花费的时间会比较长,因为他不能通过下标来查找,只能一个个的遍历....所以在add()操作比较多的时候用LinkedList性能比较好,在search()操作比较多的时候用ArrayList和Vector比较好