zoukankan      html  css  js  c++  java
  • Java集合有哪些?如何选择使用?

    1.单列各个集合底层数据结构和基本性质
    一.List集合:(有序,元素可以重复)
    1.ArrayList集合:

    1).底层数据结构是数组,查找快,增删慢。

    2). 线程不安全,效率高

    2.Vector集合:

    1) 底层数据结构是数组,查询快,增删慢

    2)线程安全,效率低

    3.LinkedList集合:

    1) 底层数据结构是链表,查询慢,增删快

    2)线程不安全,效率高

    二、Set集合(元素不可重复,元素唯一)
    1.Hashset集合:

    1) 底层数据结构是哈希表,哈希表依赖两个方法hascode ()和equals()方法

    2)两个方法的执行顺序:
    首先判断hascode()值是否相同
    是:继续执行equals()方法,看其返回值
    是true:说明元素重复,不添加
    是false:就直接添加元素
    否:就直接添加到集合

    2.Treeset集合:

    1)底层数据结构是二叉树

    2.双列各个集合底层数据结构和基本性质

    1.java中的Map集合是双列的,Map集合是Map集合家族的根接口,它有HashMap和TreeMap集合两个子类。

    2.Map集合中只对键有效,而对值是无效的。

    3.子类的数据结构:

    Hashmap:底层数据结构是哈希表,Treemap底层数据结构是二叉树,其性质和Set的底层数据结构一样。

    3、java中的集合的选择

    根据实际需求来选择合适的集合。

    1.单列还是双列:

    单列就选Collection类型的,双列选Map类型的

    2.选择单列后看元素是否唯一

    是:选择Set集合

    看元素是否排序:

    是:TreeSet
    否:HashSet

    否: 选择List集合

    安全性高低:

    高:Vector

    低:ArrayList 或LinkedList ’

    增删多:LinkedList
    查询多:ArrayList

  • 相关阅读:
    [NHibernate]条件查询Criteria Query
    [JQuery]用InsertAfter实现图片走马灯展示效果
    [NHibernate]HQL查询
    [NHibernate]基本配置与测试
    [HTML/CSS]margin属性用法
    [HTML/CSS]盒子模型,块级元素和行内元素
    [Asp.net MVC]Asp.net MVC5系列——布局视图
    [c#基础]值类型和引用类型的Equals,==的区别
    用中间件实现读负载均衡的数据库群集
    论数据库连接池对中间件性能的重要性
  • 原文地址:https://www.cnblogs.com/Nick7/p/11135269.html
Copyright © 2011-2022 走看看