2020-12-15

本文介绍了Java的基础知识,包括九种基本数据类型和引用数据类型。重点讨论了String不可被继承的原因,ArrayList和LinkedList的区别,以及数组和链表在存储、访问和操作效率上的优缺点。对于开发人员来说,理解这些基础概念对于选择合适的数据结构至关重要。
摘要由CSDN通过智能技术生成

Java基础


写在前面:知道自己不行,就不做了吗?随手整理一些java知识。

  1. java九种基本数据类型:

    (1)基本数据类型:1)数值型:整数类型(byte, short, int, long)、浮点类型(float, double);2)字符型:char;3)布尔型:boolean;(有的会考九种基本数据类型,加一个void)。
    
    (2)引用数据类型:1)类(class);2)接口(interface);3)数组。
    
  2. string可以被继承吗?为什么
          不可以,因为String类有final修饰符,而final修饰的类是不能被继承的,实现细节不允许改变。

  3. ArrayList和LinkedList有什么区别
    相同点:都实现了List接口;
    不同点:
         (1)ArrayList是基于索引的数据接口,它的底层是数组,可以进行随机访问,时间复杂度为O(1)。LinkedList是以元素列表的形式存储,按照存入的序列有序存储,查找某个元素的时间复杂度为O(n)。
         (2)相比于ArrayList,LinkedList的插入、添加和删除操作更快,因为插入和删除不需要向数组那样重新计算大小或者更改索引。
         (3)LinkedList比ArrayList更占内存,因为不仅需要存储数据也需要存储引用。

  4. 数组和链表的优缺点和区别
         数组:将元素在内存中连续存放每个元素占据内存相同,可以通过下标迅速访问数组中任何元素。插入和删除元素需要移动大量元素。如果应用需要快速访问数据,很少插入和删除元素,就应该用数组。
         链表:不是顺序存储,元素之间通过指针联系在一起。如果需要访问链表中的一个元素,需要从第一个元素开始,知道找到需要的元素。如果应用需要经常插入和删除元素就应该用链表。
    存取方式:数组可以顺序存取或随机存取,而链表只能顺序存取。
    存储位置:数组逻辑上相邻的元素在物理存储位置上也一定相邻,而链表不一定。
    存储空间:链表由于带有指针域,存储密度不如数组大。
    按需查找:数组可以随机访问,链表不可以。
    按值查找:若数组如需,链表和数组的时间复杂度都为O(n),若有序,数组乐意采取折半查找,时间复杂度为O(logn)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值