栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

[Java总结] 一些概念问题(在更新...)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

[Java总结] 一些概念问题(在更新...)

目录

抽象类和接口的区别

equals和==的区别

for和增强for的区别

list和set区别

数组和集合的区别

ArrayList和LinkedList的区别


抽象类和接口的区别

抽象类是对一类事物的抽象,将相同的属性和行为提取出来

接口是对不同事物能力的抽象, 实现类可以按照自己的方式来实现这个能力

equals和==的区别

1. ==是运算符, 比较基本数据类型时比较的是值, 比较引用数据类型时比较的是地址

2. equals是Object类中的方法, 基本数据不能调用方法,引用数据类型调用时比较的是地址, 但String重写了equals的逻辑比较字符串中的内容

3. 并不是所有重写了equals方法就能完成比较指定内容, 比如BigDecimal中使用equals方法比较的是字面值, 而不是具体数值, 因此equals方法有时并不适用

BigDecimal中CompareTo方法比较的是具体数值,返回0相同, 返回非0则不同.                      int result = biOne.compareTo(biTwo); 

for和增强for的区别

1. 增强for循环是基于迭代器的, 可以应用所有单列集合+数组的遍历,省略了元素的获取

2. 而for循环只能针对有索引的数组和list实现类进行遍历

3. 增强for循环底层是迭代器, 但由于没有迭代器对象, 则不能进行数组长度的操作 (增删)

4. 普通for循环可以限制循环次数, 而增强for循环只能从头遍历(可用break)

list和set区别

1. List和Set都是Collection接口的实现接口

2. List是有序的, 有索引的概念, 内容可重复

3. Set没有索引概念, 内容不能重复(依赖hashcode和equals判断)

数组和集合的区别

1. 数组的长度是固定的, 集合的长度是可扩展的

2. 数组中既能存储基本数据类型,又能存储引用数据类型;  集合只能存储引用数据类型

3. 数组中没有什么方法可以使用   集合中的方法更丰富

ArrayList和LinkedList的区别

1. ArrayList 和 LinkedList都是List的实现类, 元素有序, 有索引, 可重复

2. ArrayList底层基于数组, LinkedList底层基于双层链表

3. ArrayList查询快, 内存连续, 增删慢        LinkedList增删快, 内存不连续, 查询慢

4. 线程不同步, 不安全, 效率高

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/922075.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号