zoukankan      html  css  js  c++  java
  • 集合

    一、集合框架

    1.Collection接口:所有集合类的父接口

    2.Set接口:基于该接口的集合类,无序且唯一

    3.List接口:基于该接口的集合类,有序可重复

    实现类

    Hashset是Set接口实现类之一,最常用的,无序且唯一

    SortedSet接口继承了Set接口,有序可重复,TreeSet是SortedSet接口的实现类,有序且唯一

    ArrayList和LinkedList类是List接口最常用的两个实现类,有序可重复

    功能

    add:添加;remove:删除;size:数量;isEmpty:是否为空;contains:集合是否包含指定元素;iterator:遍历集合的迭代器。

    List功能

    get:获取指定位置的元素;set:将对象添加到集合中指定位置;indexOf:搜索位置,listIterator 支持双向遍历集合的迭代器。

    二、泛型

    1.菱形语法:泛型以<>形式呈现,约束存储对象类型,可以不进行强制类型转换。

    List<String> list = new ArrayList<String>();

    三、Set集合

    1.HashSet:基于哈希算法来存放和管理集合数据,hashCode()和equals()。无序且唯一

    2.TreeSet:使排序二叉树数据结构来存放和管理集合数据,集合数据按照其顺序自然排序。有序且唯一

     排序二叉树:

    1)  树中的每个节点,除存放数据外,还有指向左、右子树节点的指针

    2)  每个节点通过指针相互连接,相连指针的关系都是父子关系

    3)  所有左子树的节点数值都小于此节点的数值

    4)  所有右节点的数值都大于此节点的数值

    四、List集合

    1.ArrayList:数组数据结构存放和管理数据。有序可重复

    2.LinkedList:双向链表数据结构存放和管理数据。有序可重复

    3.Vector:数组数据结构存放和管理数据。有序可重复

    比较一:ArrayList和LinkedList

          格式      查询、修改    插入、删除

    ArrayList  数组        快        慢      建议:存放查询

    LinkedList  双向链表       慢        快      建议:大数据操作

    比较二:ArrayList和Vector

           格式    时间   线程   性能

    ArrayList   数组  JDK1.2  不安全   好  建议:使用Collections工具类将ArrayList包装成线程安全。

    Vector    数组  JDK1.0    安全     差

    五、迭代器

    List<String> list = new ArratList<String>();
    Iterator<String> it = list.Iterator();
    while(it.hasNext()){
        System.out.println(it.next());
    }

    六、Map(键值对)

    1.简介:以Key(键)来存储有索引,无序且唯一

         Value值无要求,只需要与Key对应。

    2.方法:

    1)  entrySet:返回键值对的集合

    2)  keySet:返回映射所有键的集合

    3)  values:返回映射所有值得集合

    4)  get:返回指定键的值

    5)  put:添加键值对

    3.实现类

    1)HashMap:哈希算法,效率高,线程不安全,无序且唯一  允许键为空

    2)HashTable:哈希算法,效率低,线程安全,无序且唯一  不允许键为空

  • 相关阅读:
    ASCII码对照表
    createPopup 超链接
    说说回车键触发表单提交的问题
    linux下配java环境的小结
    spring bind checkbox 传递值问题
    用Common validator为springMVC做验证时遇到的一个问题小记
    [转载]对android LinearLayout中layout_weight属性使用初探
    linux下tomcat启动正常,但用http://22.22.33.33:8080却访问不了,防火墙的设置问题
    Java 遍历Map时 删除元素
    ftp用户登录时不能进自己的目录,被拒绝登录的解决方法
  • 原文地址:https://www.cnblogs.com/zdf159/p/7264422.html
Copyright © 2011-2022 走看看