JAVA之集合框架,做了三年Java

本文详细介绍了Java中的Map接口,其与Collection接口的区别,以及List、Queue、Set等接口的重要实现类,如ArrayList、LinkedList、HashSet等。此外,还讨论了Java集合框架的学习意义和面试准备策略。
摘要由CSDN通过智能技术生成
  • Map接口

    • Map常用方法
  • Map代码示例

介绍

=================================================================

Collection接口以及其衍生


集合是什么?

简单点来说就是封装好的数据结构

来看一张图,需要大家将里面的关系理清楚:

在这里插入图片描述

各个颜色的分类:(分三种)

在这里插入图片描述

三者之间的关系已经箭头的指向都要梳理清楚,如下图所示:

Collection是集合的意思,用于存储"单个"元素,即将单个"元素"挨个一条一条存储,

有三个接口扩展了(extends)了Collection接口,分别是List接口,Queue接口,以及Set接口

实现List接口的实现类一般都是顺序表(ArrayList),链表(LinkedList)

实现Queue接口的实现类有LinkedList以及PriorityQueue

所以说LinkedList既可以被当作链表使用,也可以被当作队列和双向队列使用

实现Set接口的实现类有TreeSet和HashSet.

今后我们需要重点掌握的就是List接口,Queue接口,以及Set接口

List接口:线性结构

Queue接口:队列

Set接口:数学意义上的集合,元素不能重复(重复的元素算一个),背后隐含着查找/搜索的语义

Deque接口:双端队列

SortedSet接口:一组有序的不能重复的元素

在这里插入图片描述

总结:需要重点理清两个点:

1:接口与接口,类与接口的关系

2:每一个具体的实现类到底实现了哪些接口

我们需要重点掌握的接口实现类是:Stack,ArrayList,LinkedList,HashSet,PriorityQueue,TreeSet

Vector很少用了,基本都用Stack代替

Map接口以及其衍生


Map接口与Collection接口不同的是,Map接口用于存储键值对

来看一张图:

Map接口有两个实现类,其中HashMap和TreeMap都是需要重点掌握的

在这里插入图片描述

SortedMap接口:一组有序的键值对

每个接口实现类代表的含义


在这里插入图片描述

总的来说这些接口实现类封装好了我们所知道的数据结构的功能,让我们直接拿来使用即可.

总结


集合有很多,为什么?

答:因为集合背后都是数据结构。

描述和组织数据的方式不一样造就了有这么多的数据结构也就是为什么有这么多的集合。

关于集合的注意事项:

只要是集合,里面存储的元素就一定是引用类型,既然是引用类型,那么比较相等的时候就一定要用equals

学习的意义

====================================================================

java集合框架的优点和作用


  • 使用成熟的集合框架,有助于我们便捷、快速的写出高效、稳定的代码

  • 学习背后的数据结构知识,有助于我们理解各个集合的优缺点及使用场景

往年理解公司的笔试面试题概览


在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

Collection接口

===========================================================================

Collection官方文档(戳我)

常用方法


在这里插入图片描述

Collection示例


import java.util.Collection;

import java.util.ArrayList;

import java.util.Arrays;

public class Demo {

public static void main(String[] args) {

Collection list = new ArrayList<>();

System.out.println(list.size());

System.out.println(list.isEmpty());

list.add(“我”);

list.add(“爱”);

list.add(“Java”);

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注Java)
img

总结

对于面试还是要好好准备的,尤其是有些问题还是很容易挖坑的,例如你为什么离开现在的公司(你当然不应该抱怨现在的公司有哪些不好的地方,更多的应该表明自己想要寻找更好的发展机会,自己的一些现实因素,比如对于我而言是现在应聘的公司离自己的家更近,又或者是自己工作到达了迷茫期,想跳出迷茫期等等)

image

Java面试精选题、架构实战文档

整理不易,觉得有帮助的朋友可以帮忙点赞分享支持一下小编~

你的支持,我的动力;祝各位前程似锦,offer不断!
还是很容易挖坑的,例如你为什么离开现在的公司(你当然不应该抱怨现在的公司有哪些不好的地方,更多的应该表明自己想要寻找更好的发展机会,自己的一些现实因素,比如对于我而言是现在应聘的公司离自己的家更近,又或者是自己工作到达了迷茫期,想跳出迷茫期等等)

[外链图片转存中…(img-FXqS9iow-1711693487100)]

Java面试精选题、架构实战文档

整理不易,觉得有帮助的朋友可以帮忙点赞分享支持一下小编~

你的支持,我的动力;祝各位前程似锦,offer不断!

  • 9
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值