• Java学习笔记2—集合框架—2.1概述特点


    系列文章目录


    目录

    系列文章目录

    前言

    一、集合框架基本结构

    1.  Iterator  迭代器

    2. Collection (集合根接口)

    3. Map

    总结


    前言

                 Java集合框架,即保存数据的容器,设计容器的目的为了针对不同的应用场景,更高效的保存数据,查询,添加和删除数据。各容器操作数据的特点和其底层实现的算法密切相关,不同的算法时间和空间复杂度不同,我们都需要了解。


    一、集合框架基本结构

     1.  Iterator  迭代器

               集合Collection、List、Set都是Iterable的实现类,所以他们及其他们的子类都可以使用foreach进行迭代。实现Iterator接口,那么在遍历集合中元素的时候,只能往后遍历,被遍历过的元素不会再遍历到

    2. Collection (集合根接口)

    List:有序,可以存放重复的内容

    ArrayList:线程不安全,查询速度快。底层都是基于数组来储存集合元素,封装了一个动态的Object[]数组,是一种顺序存储的线性表。


    Set:无序,不能存放重复的内容,所以的重复内容靠hashCode()和equals()两个方法区分

    Set中的对象元素不能重复,它的常用具体实现有HashSet和TreeSet类。

    HashSet能快速定位一个元素,但是你放到HashSet中的对象需要实现hashCode()方法。底层数据结构由HashMap的键来实现。不保证集合中元素的顺序,即不能保证迭代的顺序与插入的顺序一致。是线程不安全的。


    TreeSet则将放入其中的元素按序存放,这就要求你放入其中的对象是可排序的,这就用到了集合框架提供的另外两个实用接口Comparable和Comparator。一个类是可排序的,它就应该实现Comparable接口。有序的存放,线程不安全,可以对Set集合中的元素进行排序,由红黑树来实现排序,TreeSet实际上也是SortedSet接口的子类,其在方法中实现了SortedSet的所有方法,并使用comparator()方法进行排序。

    3. Map

    Map没有继承Collection接口,Map提供key到value的映射。一个Map中不能包含相同的key,每个key只能映射一个value。

    ——Hashtable:Hashtable继承Dictionary<K,V>类,实现了Map接口,实现一个key-value映射的哈希表。任何非空(non-null)的对象都可作为key或者value。是同步的。
    ——HashMap:HashMap和Hashtable类似,不同之处在于HashMap是非同步的,并且允许null,即null value和null key。

    4.  相关知识

    1)Collections是集合框架中的一个工具类。该类中的方法都是静态的。提供的方法中有可以对list集合进行排序,二分查找等方法。通常常用的集合都是线程不安全的。因为要提高效率。如果多线程操作这些集合时,可以通过该工具类中的同步方法,将线程不安全的集合,转换成安全的。


    总结

                以上就是今天要讲的内容,本文仅仅简单介绍了Java集合框架

  • 相关阅读:
    【第三部分 | 移动端开发】4:Rem布局
    Weblogic漏洞 CVE-2021-2109 处理
    基本计算(空军工程大学)
    基于STM32 ZigBee无线远程火灾报警监控系统物联网温度烟雾
    程序的环境
    java图书推荐协同过滤算法网站
    使用Python实现深度学习模型:序列到序列模型(Seq2Seq)
    【Sentinel】Sentinel配置zk持久化
    《MySQL实战45讲》——学习笔记11 “字符串加索引、前缀索引“
    return 关键字
  • 原文地址:https://blog.csdn.net/sinat_41144773/article/details/125458082