• JAVA进阶知识练习题(上)


    前言:本帖是我收录的一些关于JAVA进阶知识的练习题和答案,总体比较简单,需要说明的是,答案不止一种,一千个人就有一千种写法,这里仅供参考,如有雷同,概不负责!!最后送给大家一句话:万丈高楼平地起,只有打好基础,才能从容面对各种难题,希望大家都能找到理想的工作~

    一、Collection集合习题

    1.1 练习一: 简述集合框架

    集合按照其存储结构可以分为两大类,分别是单列集合java.util.Collection和双列集合java.util.Map。 Collection :单列集合类的根接口,用于存储一系列符合某种规则的元素,它有两个重要的子接口,分别是 java.util.List 和 java.util.Set 。其中, List 的特点是元素有序、元素可重复。 Set 的特点是元素无序,而且不可重复。 List 接口的主要实现类有 java.util.ArrayList 和 java.util.LinkedList , Set 接口的主要实现类有 java.util.HashSet 和 java.util.TreeSet。

    1.2练习二: 给定以下代码,请定义方法listTest()统计集合中指定元素出现的次数,如"a": 2,“b”: 2,“c” :1, “xxx”:0。

    1.3练习三: 定义一个方法,要求此方法把int数组转成存有相同元素的集合(集合里面的元素是Integer),并返回:

    1.4练习四: 简述迭代器的实现原理

    当遍历集合时,首先通过调用集合的iterator()方法获得迭代器对象,然后使用hashNext()方法判断集合中是否存在下一个元素,如果存在,则调用next()方法将元素取出,否则说明已到达了集合末尾,停止遍历元素。

    Iterator迭代器对象在遍历集合时,内部采用指针的方式来跟踪集合中的元素,在调用Iterator的next()方法之前,迭代器的索引位于第一个元素之前,不指向任何元素,当第一次调用迭代器的next方法后,迭代器的索引会向后移动一位,指向第一个元素并将该元素返回,当再次调用next方法时,迭代器的索引会指向第二个元素并将该元素返回,依此类推,直到hasNext方法返回false,表示到达了集合的末尾,终止对元素的遍历。

    二、File类&递归&FileFilter习题

    2.1练习一:创建两个文件对象,分别使用相对路径和绝对路径创建:

    2.2练习二:检查D盘下是否存在文件a.txt,如果不存在则创建该文件:

    2.3练习三:创建单级文件夹和多级文件夹:

    2.4练习四:获取文件信息,包括文件名,文件大小,文件的绝对路径和文件的父路径:

    三、List集合&Set集合习题

    3.1练习一:请简述List接口的特点:

    1、它是一个元素存取有序的集合。

    2、它是一个带有索引的集合,通过索引就可以精确的操作集合中的元素

    3、集合中可以有重复的元素

    3.2练习二:请简述HashSet去除重复元素的原理。

    首先调用被添加元素的hashCode(),和HashSet中已有元素的hashCode比较是否相同, 如果不相同,直接存储。 如果相同,则调用equals方法比较元素值是否相同,如果 不相同,直接存储元素,如果 相同,认为是同一元素,不存储。

    3.3练习三:简述常见的数据结构中元素的存取特点。

    1、栈:先进后出。

    2、队列:先进先出。

    3、数组: 查找元素快, 增删元素慢

    4、链表: 查找元素慢, 增删元素快

    四、Map集合习题

    4.1练习一: 请简述Map的特点:

    1、Map每个元素由键与值两部分组成

    2、Map键不能重复,每个键对应一个值

    3、键和值可以为null

    4.2 练习二: 说出Entry键值对对象遍历Map集合的原理。

    Map中存放的是两种对象,一种称为key(键),一种称为value(值),它们在在Map中是一一对应关系,这一对对象又称做Map中的一个Entry(项)。Entry将键值对的对应关系封装成了对象。即键值对对象,这样我们在遍历Map集合时,就可以从每一个键值对(Entry)对象中获取对应的键与对应的值。

    4.3练习三:请使用Map集合的方法完成元素的增删改查操作:

    五、Math类习题:

    5.1练习一:键盘录入QQ号码,验证格式的正确: 必须是5—12位数字且 0不能开头。

    5.1.1代码实现:

    5.2练习二:模拟用户登录

    5.2.1需求:

    1、定义用户类,属性为用户名和密码。

    2、使用集合存储多个用户对象。

    3、录入用户和密码,对比用户信息,匹配成功登录成功,否则登录失败。

    4、登录失败时,当用户名错误,提示没有该用户。

    5、登录失败时,当密码错误时,提示密码有误。

    5.2.2代码实现:

    5.2.2.1定义用户类:

    5.2.2.2主方法实现:

    先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在。深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小。自己不成体系的自学效率很低又漫长,而且容易碰到天花板技术停止不前。因此我收集了一份《java开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦

  • 相关阅读:
    【新知实验室】腾讯云TRTC初体验
    SpringBoot接口 - 如何优雅的对参数进行校验?
    【SpringCloud-Alibaba系列教程】12.日志链路追踪
    【周赛复盘】力扣第 86 场双周赛
    【MATLAB编程】递归调用证明函数的极限
    Nmap使用技巧总结
    容猫科技PHP面试题(!带答案)
    Java基础知识第七讲:Java异常处理与日志打印
    通过okhttp调用SSE流式接口,并将消息返回给客户端
    准备篇(三)Python 爬虫第三方库
  • 原文地址:https://blog.csdn.net/m0_67390963/article/details/126059547