【数据结构】 初识集合框架

这篇具有很好参考价值的文章主要介绍了【数据结构】 初识集合框架。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

什么是集合框架

这里博主将简单介绍一下集合框架,想要详细了解的可以点击下方链接进行查看
java集合官方教程
Java 集合框架Java Collection Framework ,又被称为容器 container ,是定义在 java.util 包下的一组接口 interfaces和其实现类 classes

其主要表现为将多个元素 element 置于一个单元中,用于对这些元素进行快速、便捷的存储 store 、检索 retrieve 、管理 manipulate ,即平时我们俗称的增删查改 CRUD

举个例子,例如,一副扑克牌(一组牌的集合)、一个邮箱(一组邮件的集合)、一个通讯录(一组姓名和电话的映射关系)等等

接下来我们来看一下我们所需要涉及及学到的一些类与接口的总览
【数据结构】 初识集合框架,数据结构,数据结构,集合框架,算法,java
接下来的很长一段时间,如果有感兴趣的小伙伴可以跟着博主一起进行学习
接下来我们一起来了解一下集合框架的重要性

集合框架的重要性

开发中的使用

首先我们先来看一下其在开发中的使用

  • 使用成熟的集合框架,有助于我们便捷、快速的写出高效、稳定的代码
  • 学习背后的数据结构知识,有助于我们理解各个集合的优缺点及使用场景

笔试及面试题

集合框架在笔试以及面试题中也占有很大的分量
腾讯-Java后台开发面试经典题

  • HashMap 了解不,介绍一下,如果一个对象为 key 时,hashCode 和 equals 方法的用法要注意什么?
  • HashSet 和 HashMap 的区别是什么?
  • HashMap 是线程安全的么?那需要线程安全需要用到什么?

阿里巴巴-Java后台开发面试经典题

  • ArrayList 和 LinkedList 的区别是什么?
  • 有了解过 HashMap 的具体实现么?
  • HashMap 和 ConcurrentHashMap 哪个效率更高?

今日头条-Java后台开发面试经典题

  • 编程题:判断一个链表是否是一个回文链表。
  • Redis 的 zset 类型对应到 java 语言中大致是什么类型?
  • hashCode 主要是用来做什么用的?

这里由于博主不会对这些面试题进行讲解,等待小伙伴们一起跟着博主学完了相应的知识,博主会对其进行讲解,这里只是为了说明集合框架的重要性

博主在前面提到了一个名词“数据结构”,那什么是数据结构呢?

数据结构是什么

数据结构(Data Structure)是计算机存储、组织数据的方式,指相互之间存在一种或多种特定关系的数据元素的集合

容器背后对应的数据结构

在Java当中,如果有一个类专门用来存放其它类的对象,这个类就叫做容器,或者就叫做集合,集合就是将若干性质相同或相近的类对象组合在一起而形成的一个整体。

该阶段,我们主要学习以下容器,每个容器其实都是对某种特定数据结构的封装,大概了解一下,后序会给大家详细讲解并模拟实现

  1. Collection:是一个接口,包含了大部分容器常用的一些方法
  2. List:是一个接口,规范了ArrayList 和 LinkedList中要实现的方法
    ArrayList:实现了List接口,底层为动态类型顺序表
    LinkedList:实现了List接口,底层为双向链表
  3. Stack:底层是栈,栈是一种特殊的顺序表
  4. Queue:底层是队列,队列是一种特殊的顺序表
  5. Deque:是一个接口
  6. Set:集合,是一个接口,里面放置的是K模型
    HashSet:底层为哈希桶,查询的时间复杂度为O(1)
    TreeSet:底层为红黑树,查询的时间复杂度为O( ),关于key有序的
  7. Map:映射,里面存储的是K-V模型的键值对
    HashMap:底层为哈希桶,查询时间复杂度为O(1)
    TreeMap:底层为红黑树,查询的时间复杂度为O( ),关于key

上面涉及的许多陌生的专业名词,后续博主会进行详细的介绍

因为这里博主是学习java的,所以这里会涉及一些java方面的知识

相关java知识

  • 泛型 Generic
  • 自动装箱 autobox 和自动拆箱 autounbox
  • Object 的 equals 方法
  • Comparable 和 Comparator 接口

注意:数据结构学的是思想与逻辑,是一门单独的学科,并不会说是每一门语言都有其对应得数据结构。只是每一门语言得是实现过程不同,思想与逻辑是相同得

什么是算法

算法似乎与数据结构息息相关,其实算法也可以当作一门独立的学科,比如博主以前讲的贪心算法,就是算法的一种,也传输的是一种思想与解决问题的逻辑

算法(Algorithm):就是定义良好的计算过程,他取一个或一组的值为输入,并产生出一个或一组值作为输出。简单来说算法就是一系列的计算步骤,用来将输入数据转化成输出结果

如何学好数据结构以及算法

多画图多思考

【数据结构】 初识集合框架,数据结构,数据结构,集合框架,算法,java

死磕代码

【数据结构】 初识集合框架,数据结构,数据结构,集合框架,算法,java

多总结

自己进行总结,或者多来看看博主的博客
【数据结构】 初识集合框架,数据结构,数据结构,集合框架,算法,java

多刷题

这里博主向大家推荐两个网站用于刷题
牛客网
Leetcode
关于网站的使用,有不会和不清楚的地方可以私信博主

总结

关于《 【数据结构】初始集合框架》就讲解到这儿,“数据结构”系列专栏的内容也就从此刻开始了,感谢大家的支持,欢迎各位留言交流以及批评指正,如果文章对您有帮助或者觉得作者写的还不错可以点一下关注,点赞,收藏支持一下文章来源地址https://www.toymoban.com/news/detail-649059.html

到了这里,关于【数据结构】 初识集合框架的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【数据结构】搜索树 与 Java集合框架中的Set,Map

    作者主页:paper jie_博客 本文作者:大家好,我是paper jie,感谢你阅读本文,欢迎一建三连哦。 本文录入于《JAVA数据结构》专栏,本专栏是针对于大学生,编程小白精心打造的。笔者用重金(时间和精力)打造,将javaSE基础知识一网打尽,希望可以帮到读者们哦。 其他专栏:《

    2024年02月08日
    浏览(38)
  • 集合框架及背后的数据结构

    大家好,我是晓星航。今天为大家带来的是 集合框架及背后的数据结构 的讲解!😀 官方教程 Java 集合框架 Java Collection Framework ,又被称为容器 container ,是定义在 java.util 包下的一组接口 interfaces 和其实现类 classes 。 其主要表现为将多个元素 element 置于一个单元中,用于对

    2024年01月18日
    浏览(46)
  • com.google.common.collect 是 Google Guava 库中的一个包,它提供了一系列扩展和增强 Java 集合框架的工具类和数据结构

    com.google.common.collect 是 Google Guava 库中的一个包,它提供了一系列扩展和增强 Java 集合框架的工具类和数据结构。Guava 的集合工具在设计上强调性能、不可变性、功能性和易用性。 以下是 com.google.common.collect 包中一些重要的类和接口: Immutable Collections: ImmutableSet:一个不可变

    2024年03月19日
    浏览(61)
  • Java 数据结构集合

    详细请转到@pdai的博客 1.1 数组 (Array) 数组的优点: 存取速度快 数组的缺点: 事先必须知道数组的长度 插入删除元素很慢 空间通常是有限制的 需要大块连续的内存块 插入删除元素的效率很低 源码分析: 1、底层数据结构是Object 2、构造函数包括无参构造和有参数构造,有参构

    2024年01月24日
    浏览(44)
  • springboot第49集:【思维导图】多线程,常用类与基础API,集合框架,泛型,数据结构源码...

    多线程创建方式一:继承Thread类 多线程创建方式二:实现Runnable接口 jdk5.0新增两种创建多线程的方式 image.png image.png image.png image.png image.png image.png image.png image.png image.png image.png image.png image.png image.png 优先级 image.png image.png image.png image.png image.png image.png 线程安全问题 image.p

    2024年01月21日
    浏览(48)
  • JAVA数据结构篇--13线程安全的Set 集合

    前言:java 中用于存放不重复元素的set 集合,其中无序的HashSet,以及有序的LinkedHashSet和TreeSet 都是非线程安全的,那么多线程环境下,我们要存放不重复的元素,需要使用哪种集合进行数据存取; 1 使用: 2 过程: 2.1 放入获取元素: Collections.synchronizedSet:通过使用synchron

    2024年02月16日
    浏览(41)
  • 数据结构(Java实现)-集合与时间和空间复杂度

    什么是集合框架 Java 集合框架 Java Collection Framework ,又被称为容器 container ,是定义在 java.util 包下的一组接口 interfaces 和其实现类 classes 。 什么是数据结构 数据结构(Data Structure)是计算机存储、组织数据的方式,指相互之间存在一种或多种特定关系的数据元素的 集合。 容器

    2024年02月12日
    浏览(43)
  • JAVA基础学习笔记-day14-数据结构与集合源码2

    博文主要是自己学习JAVA基础中的笔记,供自己以后复习使用,参考的主要教程是B站的 尚硅谷宋红康2023大数据教程 君以此始,亦必以终。—左丘明《左传·宣公十二年》 7.1 List接口特点 List集合所有的元素是以一种 线性方式 进行存储的,例如,存元素的顺序是11、22、33。那

    2024年01月18日
    浏览(60)
  • 【Java集合类面试二十六】、介绍一下ArrayList的数据结构?

    文章底部有个人公众号: 热爱技术的小郑 。主要分享开发知识、学习资料、毕业设计指导等。有兴趣的可以关注一下。为何分享? 踩过的坑没必要让别人在再踩,自己复盘也能加深记忆。利己利人、所谓双赢。 面试官:介绍一下ArrayList的数据结构? 参考答案: ArrayList的底

    2024年02月08日
    浏览(44)
  • 数据结构与算法之美学习笔记:40 | 初识动态规划:如何巧妙解决“双十一”购物时的凑单问题?

    本节课程思维导图: 淘宝的“双十一”购物节有各种促销活动,比如“满 200 元减 50 元”。假设你女朋友的购物车中有 n 个(n100)想买的商品,她希望从里面选几个,在凑够满减条件的前提下,让选出来的商品价格总和最大程度地接近满减条件(200 元),这样就可以极大限

    2024年02月03日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包