Java面试锦集 之 一、Java基础(1)

发布于:2024-07-26 ⋅ 阅读:(132) ⋅ 点赞:(0)

一、Java基础(1)

1.final 关键字的作用?

修饰变量:
一旦被赋值,就不能再被修改,保证了变量值的稳定性。
例:

 final int NUMBER = 10; 
 //之后就不能再改变 NUMBER 的值了。

修饰方法:
表示此方法不能被其子类重写。
例:

class Parent { final void someMethod() {... } } 
//那么在子类中就不能重写 someMethod 方法。

修饰类:
表明该类不能被继承,不能再有子类。
例:

final class FinalClass {... } 
//其他类就不能继承 FinalClass 。

换言之:

  • 被final修饰的类不可以被继承
  • 被final修饰的方法不可以被重写
  • 被final修饰的变量不可以被改变
  • 如果修饰引用,那么表示引用不可变
  • 引用指向的内容可变
  • 被final修饰的方法,JVM会尝试将其内联,以提高运行效率
  • 被final修饰的常量,在编译阶段会存入常量池中

2.Java 集合list,set,queue,map,stack 的特点与用法?

List(列表):

特点: 元素有序、可重复。
常用实现类: ArrayList、LinkedList。
用法: 可通过索引访问元素,适合按顺序存储和访问一组元素。

有序的可重复集合,可以在任意位置增加删除元素,用Iterator实现单向遍历,也可用List Iterator 实现双向遍历。

Set(集合):

特点: 元素无序、不可重复。
常用实现类: HashSet、TreeSet。
用法: 常用于去重操作。

不包含重复元素的集合,set中最多包含一个null元素,只能用Iterator实现单项遍历,Set中没有同步方法。

Queue(队列):

特点: 遵循先进先出原则。
用法: 用于排队处理元素。

Queue遵从先进先出原则,使用时尽量避免add()和remove()方法,而是使用offer()来添加元素,使用poll()来移除元素

Map(映射):

特点: 存储键值对,键唯一,值可重复。
常用实现类: HashMap、TreeMap。
用法: 用于根据键快速查找对应的值。

Map 是键值对,键Key是唯一不能重复的,一个键对应一个值,值可以重复。

Stack(栈):

特点: 遵循后进先出原则。
用法: 可以用于实现一些特定的算法或流程控制。

Stack 遵从后进先出原则,Stack继承自Vector,它通过五个操作对类Vector进行扩展,允许将向量视为堆栈,它提供了通常的push和pop操作,以及取堆栈顶点的peek()方法、测试堆栈是否为空的empty方法等。

更新中……


网站公告

今日签到

点亮在社区的每一天
去签到