摘要: 最常用的集合类是 List 和 Map。 List 的具体实现包括 ArrayList 和 Vector,它们是可变大小的列表,比较适合构建、存储和操作任何类型对象的元素列表。 List 适用于按数值索引访问元素的情形。 Map 提供了一个更通用的元素存储方法。 Map 集合类用于存储元素对(称作" 阅读全文
posted @ 2017-07-20 17:17 legends 阅读(1411) 评论(1) 推荐(0) 编辑
摘要: Collection是集合类的上级接口,继承与他的接口主要有Set 和List. Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作。 阅读全文
posted @ 2017-07-20 17:15 legends 阅读(195) 评论(0) 推荐(0) 编辑
摘要: ArrayList和Vector都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢,Vector由于使用了synchronized方法(线程安全),通常性能上较ArrayLis 阅读全文
posted @ 2017-07-20 17:08 legends 阅读(121) 评论(0) 推荐(0) 编辑
摘要: 首先,List与Set具有相似性,它们都是单列元素的集合,所以,它们有一个功共同的父接口,叫Collection。Set里面不允许有重复的元素,所谓重复,即不能有两个相等(注意,不是仅仅是相同)的对象 ,即假设Set集合中有了一个A对象,现在我要向Set集合再存入一个B对象,但B对象与A对象equa 阅读全文
posted @ 2017-07-20 17:06 legends 阅读(265) 评论(0) 推荐(0) 编辑
摘要: HashMap是Hashtable的轻量级实现(非线程安全的实现),他们都完成了Map接口,主要区别在于HashMap允许空(null)键值(key),由于非线程安全,在只有一个线程访问的情况下,效率要高于Hashtable。 HashMap允许将null作为一个entry的key或者value,而 阅读全文
posted @ 2017-07-20 17:05 legends 阅读(93) 评论(0) 推荐(0) 编辑
摘要: 这两个类都实现了List接口(List接口继承了Collection接口),他们都是有序集合,即存储在这两个集合中的元素的位置都是有顺序的,相当于一种动态的数组,我们以后可以按位置索引号取出某个元素,并且其中的数据是允许重复的,这是HashSet之类集合的最大不同处,HashSet之类的集合不可以按 阅读全文
posted @ 2017-07-20 16:59 legends 阅读(114) 评论(0) 推荐(0) 编辑
摘要: 要实现comparable/comparator的接口。 阅读全文
posted @ 2017-07-20 16:48 legends 阅读(790) 评论(1) 推荐(0) 编辑
摘要: Collection:List列表,Set集合 Map:hashMap,hashTable,TreeMap Collection:是单列集合 List 元素是有序的、可重复的 有序的 collection,可以对列表中每个元素的插入位置进行精确地控制。 可以根据元素的整数索引(在列表中的位置)访问元 阅读全文
posted @ 2017-07-20 16:43 legends 阅读(350) 评论(0) 推荐(0) 编辑
摘要: 主要相同点:lock能完成synchronized所实现的所有功能 主要不同点:lock有比synchronized更精确的线程语义和更好的性能。synchronized会自动释放锁,而lock一定要求程序员手工释放,并且必须在finally从句中释放。lock还有更强大的功能,例如,它的tryLo 阅读全文
posted @ 2017-07-20 16:01 legends 阅读(293) 评论(0) 推荐(0) 编辑
摘要: 一个程序中可以有多条执行线索同时执行,一个线程就是程序中的一条执行线索,每个线程上都关联有要执行的代码,即可以有多段程序代码同时运行,每个程序至少都有一个线程,即main方法执行的那个线程。如果只是一个cup,它怎么能够同时执行多段程序呢,从宏观上来看,CPU一会执行a线索,一会执行b线索,切换时间 阅读全文
posted @ 2017-07-20 15:52 legends 阅读(1256) 评论(0) 推荐(0) 编辑