工作日志4-16
2015-04-16 15:30
148 查看
工作日志4-16
1、collection和collections的区别
collection是集合类的一个顶级接口,其直接继承接口有list和set
collections则是集合类的一个工具类/帮助类,其中提供了一系列静态方法,用于对集合中元素进行排序、搜索以及线程安全等各种操作。
2、List、Set、Map三大容器区别
List:有序可重复容器
Set:无序不可重复容器
Map:包含键值对,其中关键字是数值的唯一标识(不可重复),用户可以按关键字存取数据,数据可重复。
3、List接口主要的实现类包括ArrayList、LinkedList、Vector(很少用)
ArrayList:代表长度可变的数组、当我们需要对元素进行快速访问时使用。
LinkedList:链表数据结构,向List中插入和删除元素时由于速度较快而使用它,但是随机访问时速度慢。
4、了解ArrayList类中的方法
5、Set总结
1、HashSet和TreeSet是Set的两个典型实现。HashSet的性能总是比TreeSet好(特别是常用的添加、查询等操作),因为TreeSet需要额外的红黑树算法来维护集合元素的次序。只有当需要一个保存排序的Set时,才应该使用TreeSet,否则都应该使用HashSet。
2、LinkedHashSet是HashSet的子类,该集合也是根据元素hashCode值来决定元素存储位置,但它同时使用链表维护元素的次序,这样使得元素看起来是以插入的顺序保存的。LinkedHashSet需要维护元素的插入顺序,因此性能略低于HashSet的性能,但在迭代访问Set里的全部元素时将有很好的性能,又因为链表的存在,遍历LinkedHashSet会更快。
3、TreeSet是SortedSet接口的实现,TreeSet可以确保集合元素处于排序状态,TreeSet并不是根据元素的插入顺序进行排序,而是根据元素的实际值来进行排序的。
4、EnumSet是所有Set实现类中性能最好的,但它只能保存同一个枚举类的枚举值作为集合元素。
5、必须指出的是Set的三个实现类HashSet、TreeSet和EnumSet都是线程不安全的,如果有多条线程同时访问一个Set集合,并有超过一条线程修改了该Set集合,则必须手动保证该Set集合的同步性。通常可以通过Collections工具类的synchronizedSortedSet方法来包装该Set集合。此操作最好在创建时进行。
6、下午看javaScript:计划这几天着重看JavaScript。
1、collection和collections的区别
collection是集合类的一个顶级接口,其直接继承接口有list和set
collections则是集合类的一个工具类/帮助类,其中提供了一系列静态方法,用于对集合中元素进行排序、搜索以及线程安全等各种操作。
2、List、Set、Map三大容器区别
List:有序可重复容器
Set:无序不可重复容器
Map:包含键值对,其中关键字是数值的唯一标识(不可重复),用户可以按关键字存取数据,数据可重复。
3、List接口主要的实现类包括ArrayList、LinkedList、Vector(很少用)
ArrayList:代表长度可变的数组、当我们需要对元素进行快速访问时使用。
LinkedList:链表数据结构,向List中插入和删除元素时由于速度较快而使用它,但是随机访问时速度慢。
4、了解ArrayList类中的方法
5、Set总结
1、HashSet和TreeSet是Set的两个典型实现。HashSet的性能总是比TreeSet好(特别是常用的添加、查询等操作),因为TreeSet需要额外的红黑树算法来维护集合元素的次序。只有当需要一个保存排序的Set时,才应该使用TreeSet,否则都应该使用HashSet。
2、LinkedHashSet是HashSet的子类,该集合也是根据元素hashCode值来决定元素存储位置,但它同时使用链表维护元素的次序,这样使得元素看起来是以插入的顺序保存的。LinkedHashSet需要维护元素的插入顺序,因此性能略低于HashSet的性能,但在迭代访问Set里的全部元素时将有很好的性能,又因为链表的存在,遍历LinkedHashSet会更快。
3、TreeSet是SortedSet接口的实现,TreeSet可以确保集合元素处于排序状态,TreeSet并不是根据元素的插入顺序进行排序,而是根据元素的实际值来进行排序的。
4、EnumSet是所有Set实现类中性能最好的,但它只能保存同一个枚举类的枚举值作为集合元素。
5、必须指出的是Set的三个实现类HashSet、TreeSet和EnumSet都是线程不安全的,如果有多条线程同时访问一个Set集合,并有超过一条线程修改了该Set集合,则必须手动保证该Set集合的同步性。通常可以通过Collections工具类的synchronizedSortedSet方法来包装该Set集合。此操作最好在创建时进行。
6、下午看javaScript:计划这几天着重看JavaScript。
相关文章推荐
- 外企工作日志16
- 工作日志-16/2/16
- 工作日志 Thu. 2004-09-16 天气:晴转雨 mood-ok
- 3月4日工作日志-88250
- 3月8日工作日志-88250
- 2010-12-28工作日志
- 工作日志_20180122
- 3月18日工作日志-88250
- icare3.0程序中关于诊疗卡号长度的设置-------运维日志16
- 《优先级流量调度算法研究》毕业设计工作日志
- 工作日志2014-07-09
- 【小平工作日志】spring mvc 中使用@RequestBody接收参ajax发请求报 400 Bad Request
- 2014-03-21工作日志:
- glmis项目工作日志2_增加登录界面_将drawerlayout改为挤压滑动
- 工作日志--openSNS二次开发--聊天会话功能身份限制
- 校网络中心――工作日志2
- 2014-03-27工作日志:字符指针指向的字符串的输入、输出、求长度;将字符串与数字相连;
- 工作日志2014-07-21
- 【小平工作日志】mybatis深入理解(一)之 # 与 $ 区别以及mybatis 对 sql 预编译
- 【工作日志】【asp】【03】iis配置好后要改动的几个地方