Collection集合总结
2015-12-27 13:03
501 查看
一、Collection 结构包含:
----LinkedList
底层数据结构是链表,查询慢,增删快---->线程不安全,效率高
二、Collection 中集合的选择:
1、需要数据唯一不重复用 Set,同时,需要排序用TreeSet,不需要排序用HashSet.在判断出是Set不知道具体用哪个子类时,用HashSet
2、不需要数据唯一用List,同时,需要安全用Vector,不需要安全则用ArrayList或者LinkedList。如果查询多用ArrayList,增删多用LinkedList。同样,知道是List但是不清数具体哪一个List,那就用ArrayList。
3、如果你知道用Collection集合,但是不知道是哪个集合,那就用ArrayList。
三、Collection总结:
1、Set实现的基础是Map(HashMap)
Set中的元素是不能重复的,如果使用add(Object obj)方法添加已经存在的对象,则会覆盖前面的对象
List 有序,可重复
---ArrayList
底层结构是数组,查询快,增删慢.--->线程不安全,效率高---Vector
底层数据结构是数组,查询快,增删慢--->线程安全,效率低----LinkedList
底层数据结构是链表,查询慢,增删快---->线程不安全,效率高
Set 无序,不可重复
--->HashSet
底层数据结构是哈希表.依赖两个方法,hashCode()和equals()方法
===>LinkedHashSet
底层数据结构是链表和哈希表.由链表保证元素有序,由哈希表保证元素唯一
--->TreeSet
底层数据结构是红黑树(二叉树).有自然排序(compare())和比较器排序Comparator()两种二、Collection 中集合的选择:
1、需要数据唯一不重复用 Set,同时,需要排序用TreeSet,不需要排序用HashSet.在判断出是Set不知道具体用哪个子类时,用HashSet
2、不需要数据唯一用List,同时,需要安全用Vector,不需要安全则用ArrayList或者LinkedList。如果查询多用ArrayList,增删多用LinkedList。同样,知道是List但是不清数具体哪一个List,那就用ArrayList。
3、如果你知道用Collection集合,但是不知道是哪个集合,那就用ArrayList。
三、Collection总结:
1、Set实现的基础是Map(HashMap)
Set中的元素是不能重复的,如果使用add(Object obj)方法添加已经存在的对象,则会覆盖前面的对象
相关文章推荐
- 使用Qt编写模块化插件式应用程序
- 【C#】 多态
- 【Unity Shaders】使用CgInclude让你的Shader模块化——Unity内置的CgInclude文件
- next_permutation生成全排列打表法解决问题
- 颜色名词典 Color-Name Dictionaries
- JavaWeb学习遇到的几个小问题
- ffmepg中swscale的用法
- 树和树结构(3) : Trie树(代码原创)
- iOS - 关于登陆后获取访问服务器通行证 (Token / session)
- C#实现数据库的递归查询
- 有需求就点进来
- word中插入图片只显示底边,其他看不到,插入公式显示不全
- Java基础学习总结(6)——面向对象
- Java基础学习总结(6)——面向对象
- Java基础学习总结(6)——面向对象
- 休 麦克迪尔米德《摇摆的石头》
- 输入输出流总结
- Java WebService 简单实例
- Swift字符串分割——多重分隔符
- HTTPS 简介