• 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集合框架

  • 相关阅读:
    redis源码分析之IO多路复用
    微信小程序获取用户头像昵称组件封装(最新版)
    php初级教程四 文件上传
    CorelDRAW2024有哪些新功能?如何下载
    【Redis】springboot整合redis(模拟短信注册)
    三个方面浅析数据对大语言模型的影响
    DLL调试方法 VS2012 C++ 有代码时
    如何训练个人的ChatGpt4
    纯c#运行开源本地大模型Mixtral-8x7B
    LeetCode题解:剑指 Offer 03. 数组中重复的数字,原地置换,JavaScript,详细注释
  • 原文地址:https://blog.csdn.net/sinat_41144773/article/details/125458082