zoukankan      html  css  js  c++  java
  • 面试题3

    面试题

    Java容器

    1. 说一下 HashSet 的实现原理?

    HashSet 是基于 HashMap 实现的,HashSet 底层使用 HashMap 来保存所有元素,因此 HashSet 的实现比较简单,相关 HashSet 的操作,基本上都是直接调用底层 HashMap 的相关方法来完成,HashSet 不允许重复的值。

    2. ArrayList 和 LinkedList 的区别是什么?

    • 数据结构实现:ArrayList 是动态数组的数据结构实现,而 LinkedList 是双向链表的数据结构实现。
    • 随机访问效率:ArrayList 比 LinkedList 在随机访问的时候效率要高,因为 LinkedList 是线性的数据存储方式,所以需要移动指针从前往后依次查找。
    • 增加和删除效率:在非首尾的增加和删除操作,LinkedList 要比 ArrayList 效率要高,因为 ArrayList 增删操作要影响数组内的其他数据的下标。

    综合来说,在需要频繁读取集合中的元素时,更推荐使用 ArrayList,而在插入和删除操作较多时,更推荐使用 LinkedList。

    3. 如何实现数组和 List 之间的转换?

    • 数组转 List:使用 Arrays. asList(array) 进行转换。
    • List 转数组:使用 List 自带的 toArray() 方法。

    代码示例:

    // list to array
    List<String> list = new ArrayList<String>();
    list. add("叶痕秋");
    list. add("的诗情画意");
    list. toArray();
    // array to list
    String[] array = new String[]{"王磊","的诗情画意"};
    Arrays. asList(array);
    

    OOPS

    1.面向对象编程的主要原则是什么?

    面向对象编程(OOPS)的主要原则是:

    1. 抽象
    2. 封装
    3. 继承
    4. 多态性

    2.面向对象编程语言和基于对象的编程语言有什么区别?

    面向对象编程语言如 Java 和 C ++遵循 OOPS 的概念,如封装,抽象,多态和 继承等。 基于对象的编程语言遵循一些特性 OOPS,但他们不提供对多态性和继承的支持。蛋。JavaScript,VBScript 等 基于对象的编程语言为对象提供支持,您可以从构造函数构建对象。他们的语 言也支持封装。这些也被称为原型导向语言。

    3.在 Java 中,在对象中定义为实例变量的对象引用的默认值是什么?

    Java 中的所有实例变量对象引用都是 null。

  • 相关阅读:
    基于网络服务器端的网口测试-软件
    JAVA中操作符的优先级
    逻辑操作符、位操作符号的忽略点
    Java配置环境变量、方法和原因
    Java中常用的字符编码-解析
    SVM
    C#与matlab混合编程
    Python 3 and MySQL
    PyMySQL Evaluation
    PYTHON3连接MYSQL数据库
  • 原文地址:https://www.cnblogs.com/coderD/p/13871293.html
Copyright © 2011-2022 走看看