java基础之集合框架--Collection及Map顶级接口

本文探讨了Java集合框架中的Collection和Map顶级接口,详细介绍了它们的类图结构,如Set、List和Queue在Collection下的角色,以及Map接口的主要方法。还深入讨论了equals与==的区别,强调了在没有重写equals方法时,两者比较的是对象引用。最后,解释了hashCode在对象比较中的作用,指出不能仅凭hashCode判断对象相等,而必须依赖equals方法。
摘要由CSDN通过智能技术生成

java基础之集合框架–Collection及Map顶级接口

最近看了百度的面试题,面试内容基本都是基础知识,好多问题没有答好,所以定个小目标,在年前争取把java主流的基础知识都巩固一遍;那就以使用最频繁的集合框架开始。

Collection及Map类图

collection类图

Collection类图

可以看出来,Collection下的子接口有三个分别为Set,List,Queue,其中Set为无序的且不可重复的集合,List为有序可重复的集合,queue为先入先出的队列。

Map类图

这里写图片描述

collection接口主要包含的方法如下:add()、addAll()、contain()、remove()、hashCode()、size()、toArray()等方法

关于Collection接口方面百度的技术面试主要问题:
Collection有哪些子类或者子接口(上面图即是常用的);
问:接口可以定义常量么?
答:接口肯定是可以定义常量的,并且只能定义常量,但是其实接口中定义公有常量是不推荐的,除非这个常量与这个接口及其实现的子类有非常密切的关系,如integer的最大值等;effectiveJava一书中也明确表示不建议定义常量接口,实现常量接口会把实现细节暴露到导出的API中,并会对实现此接口的配置类造成污染。
还有一些特别基础的问题如:抽象类与接口的区别;为什么要用接口;为什么是单继承等;
还有一个面试题说的是==与equals的区别(String a=”s”),这个其实很重要,对下面介绍set、map等结构有非常重要的作用;下面就解析下这道题。

equals与==区别

介绍之前,先说明下,java的类型包括两类,一个为基础数据类型,一个为引用类型;在没有重写equals的方法情况下,equals与==比较结果相同,都是对引用地址的比较;基础数据类型都重写了equals方法,拿string类来说,它重写了object的equals方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值