X32专项练习部分09

本文主要探讨了Java中双向链表的搜索速度方差,分析了适合存放数据元素的结构,讲解了有无符号位运算在数据处理中的应用,并深入讨论了类变量和局部变量的区别。此外,还重点介绍了依赖注入和控制反转的概念,以及Integer自动装箱、构造方法赋值和代码块执行顺序等核心概念。
摘要由CSDN通过智能技术生成

双向链表的搜索速度方差

	/*
    关于双链表的搜索给定元素操作的说法正确的是
    正确答案: B

    从两个方向搜索双链表,比从一个方向搜索双链表的速度慢
    从两个方向搜索双链表,比从一个方向搜索双链表的方差要小
    从两个方向搜索双链表,比从一个方向搜索双链表速度要快
    以上说法都不正确
    
    如果链表数据是无序的,则搜索速度一样快,
    如果是有序的,则又向搜索比单向搜索更快
    因此综合起来,搜索速度的方差,双向搜索时更小
     */

适合存放数据元素的结构

	/*
    某一系统功能,需要一次性加载N(N在1000左右)个随机数
    后续只对该集合进行遍历。最宜采用哪种结构存放?
    正确答案: C
    Hash表
    二叉树
    链表
    图

    随机数,未经排序,二叉树不适合,二叉树自动排序,TreeSet可排序集合;
    需要遍历,hash表不适合;
    不强调数据之间的关系,图不适合;
    随机数数据类型不一致,数组不适合。
    综上所述,链表最适合。
    
    数组:连续存储,遍历快且方便,长度固定,缺点移除和添加 需要迁移n个数据或者后移n个数据 
    链表:离散存储,添加删除方便,空间和时间消耗大,双向链表比单向的更灵活,但是空间耗费也更大 
    Hash表:数据离散存储,利用hash算法决定存储位置,遍历麻烦。以java的HashMap为例 
    二叉树:一般的查找遍历,有深度优先和广度优先,遍历分前序、中序、后序遍历,效率都差不多
        但是如果数据经过排序,二叉树效率还是不错。 
     */

有无符号位运算

		public static void main(String[] args) {
   
            /*
            >> 表示带符号右移,如果为负数,符号位补1
            >>> 表示无符号右移,忽略符号位
             */
            System.out.println(20 >>> 2); // 5
            System.out.println(-20 >> 2); // -5
            System.out.println(-20 >>> 2); // 1073741819
        }

类变量和局部变量

/*
下列程序的输出结果是
 */
class Test {
   
    public static int a = 1;
    public static void main(String[] args) {
   
        int a = 10;
        a++; // 类变量+1
        Test.a++; // 局部变量+1
        Test t=new Test();
        System.out.println(
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

muskfans

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值