• jah老师中关于集合的总结


    --------概述:
    1、Java 集合就像一种容器,可以把多个对象的引用放入容器中
    2、Java 集合类可以用于存储数量不等的多个对象,还可用于保存具有映射关系的关联数组
    3、Java 集合可分为 Set、List 和 Map 三种体系
    Set:无序、不可重复的集合
    List:有序,可重复的集合 Map:具有映射关系的集合


    --------Collection 接口
    Collection 接口是 List、Set 和 Queue 接口的父接口,该接口里定义的方法既可用于操作 Set 集合,也可用于操作 List 和 Queue 集合:

    --------使用 Iterator 接口遍历集合元素
    1、主要用于遍历 Collection 集合中的元素
    Iterator 对象也被称为迭代器
    2、隐藏了各种 Collection 实现类的底层细节
    向应用程序提供了遍历 Collection 集合元素的统一编程接口
    3、Iterator 仅用于遍历集合
    Iterator 本身并不提供承装对象的能力。
    如果需要创建Iterator 对象,则必须有一个被迭代的集合。

    --------使用 foreach 循环遍历集合元素
    for(Person p:persons){
    System.out.println(p);
    }


    --------Set 集合1、Set 集合不允许包含相同的元素 如果试图把两个相同的元素加入同一个 Set 集合中,则添加操作失败。(不报错)2、使用equals(),比较Set是否相同 Set 判断两个对象是否相同不是使用 == 运算符,而是根据 equals 方法
    --------HashSet1、HashSet 是 Set 接口的典型实现 大多数时候使用 Set 集合时都使用这个实现类。
    2、HashSet 按 Hash 算法来存储集合中的元素 因此具有很好的存取和查找性能。3、HashSet 具有以下特点:
    不能保证元素的排列顺序 HashSet 不是线程安全的 集合元素可以使用 null

    --------TreeSetTreeSet 是 SortedSet 接口的实现类,TreeSet 可以确保集合元素处于排序状态。


    --------List
    1、代表一个元素有序的集合
    集合中的每个元素都有其对应的顺序索引
    2、允许使用重复元素
    可以通过索引来访问指定位置的集合元素。3、默认按元素的添加顺序设置元素的索引
    4、 根据索引来操作集合元素的方法

    --------ArrayList 和 Vector(了解)ArrayList 和 Vector 是 List 接口的两个典型实现区别:
    Vector是一个古老的集合,通常建议使用 ArrayList
    ArrayList 是线程不安全的,而 Vector 是线程安全的。
    即使为保证 List 集合线程安全,也不推荐使用 Vector
    --------Map1、用于保存具有映射关系的数据 Map 集合里保存着两组值,一组值用于保存 Map 里的 Key,另外一组用于保存 Map 里的 Value
    2、key 和 value 都可以是任何引用类型的数据
    3、Key 不允许重复4、Key 和 Value 之间存在单向一对一关系
    即通过指定的 Key 总能找到唯一的,确定的 Value。

    --------

    --------TreeMapTreeMap 存储 Key-Value 对时
    需要根据 Key 对 key-value 对进行排序。
    可以保证所有的 Key-Value 对处于有序状态。

    TreeMap 的 Key 的排序: 自然排序: TreeMap 的所有的 Key 必须实现 Comparable 接口,而且所有的 Key 应该是同一个类的对象,否则将会抛出 ClasssCastException 定制排序: 创建 TreeMap 时,传入一个 Comparator 对象,该对象负责对 TreeMap 中的所有 key 进行排序。此时不需要 Map 的 Key 实现 Comparable 接口
    --------

  • 相关阅读:
    .NET 2.0 SqlDependency快速上手指南
    将VS2005中文180天试用版升级到正式版的方法
    打包,并自动安装SQL数据库
    数字签证控件网马生成器制作工具
    有人写的批处理,学习一下
    ASP.NET(C#)优秀网站
    打开,另存为,属性,打印等14个JS代码
    数据库通用连接类
    网站排名查询(Alexa中文版)
    sql中取得当前月的第一天
  • 原文地址:https://www.cnblogs.com/1020182600HENG/p/6709501.html
Copyright © 2020-2023  润新知