java集合--ArrayList HashSet HashMap Hashtable LinkList
2016-08-21 13:40
465 查看
List
java.util.ArrayList | LinkedList 类,List集合;
声明方式:List | ArrayList [<E>] list = new ArrayList [< E >] ();
List | LinkedList [< E >] list = new LinkedList [<E>](); <E>可省略不写,eclispe会有警告提示,E为合法的java数据类型
区别:ArrayList类:可变的数组集合,初始化大小为10,并允许包括 null 在内的所有元素;可以根据索引位置对集合进行快速的随机访问;插入和删除比较慢;
LinkedList类:链表结果保存对象;对插入和删除对象快速;随机访问集合中的对象效率比较低;
ArrayList中有许多对数组的操作方法,具体可查看JDK API文档
set(index, value); 修改数组下标为index的值为value;index不能超出现数组长度,否则会报数组越界(ps:与数组相同,集合的索引也是从0开始);
Set
java.util.HashSet | TreeSet类,Set集合;
声明方式:HashSet [<E>] hashSet = new HashSet [<E>](); <E>可省略不写,E为数据类型,基本数据类型和Object
区别:HashSet:实现了Set接口,默认初始容量是 16,加载因子是 0.75;由哈希表(实际上是一个
HashMap 实例)支持。它不保证 set 的迭代顺序;
特别是它不保证该顺序恒久不变;此类允许使用
null 元素。
TreeSet:实现了Set、SortedSet接口,集合遍历时,可以按照自然顺序或者指定顺序排序。
共同点:不能包含该重复对象,校验新增;
HashSet 中有很多对Map的操作方法,具体可以查看JDK API文档
Map
java.util.HashMap | TreeMap | Hashtable类,Map集合;
声明方式: HashMap [<E, E>] hashMap = new HashMap [<E, E>] ();
TreeMap [<E, E>] hashMap = new TreeMap [<E, E>] ();
Hashtable [<E, E>] hashMap = new Hashtable[<E, E>] ();
区别:HashMap:是非线程安全的,HashMap的键和值都允许有null值存在,但必须保证key的唯一性;不保证映射的顺序,特别是它不保证顺序恒久不变;
默认初始容量是 11,加载因子是 0.75
TreeMap:集合的映射关系具有一定的顺序,因此添加、删除、定位的效率会差,也不允许键对象是null;
Hashtable:是线程安全的,肯定执行效率就会差些;这个里面讲的比较详细:http://blog.csdn.net/u012050154/article/details/50905364
共同点:map是存储键和值双列数据集合,但存储的数据是没有顺序的,key不能重复,value可以重复,可以通过每个key,找到其对应的value;
相关文章推荐
- mybatis报错spring.MyBatisSystemException
- 高性能的关键:Spring MVC的异步模式
- struts三种方法设置作用域 已经贴了代码
- 关于spring的基本知识介绍
- spring mvc的实行代码—采用xml配置
- java分页
- struts 转发重定向 参数书写格式
- java设计模式之备忘录模式
- java wait和notify及 synchronized sleep 总结
- java wait和notify及 synchronized sleep 总结
- java编程自学记录(day09)
- java实现堆排序(2016年腾讯内推笔试的一道算法题)
- Spring安全权限管理(Spring Security)
- Java类集框架——Map接口使用注意事项
- JaveEE实现投票程序
- Java Mail---SMTP、POP3协议-DOS下手动收发邮件演示过程
- Java JDBC连接各种数据库实例
- Java正则表达式实例教程
- Java8语法和新功能
- 高性能Java Web 页面静态化实例