• 编程中的小知识点


                                                                                ---------------------------------------------- 时间不多了,赶紧做一些你喜欢的事

    1、Integer.valueOf()

       可以将 int 类型 转为为 包装类 Integer 类型

       可以将String 类型转换为 int 类型

    2、HashMap  中的key 不可以为基本数据类型

          原因是hashMap底层存储相同的对象时候, 是先通过对象的hashCode 进行比较,

        然后再一顿操作的,但是基本数据类型是没有hashCode方法;

         所以在创建一个hashMap时,声明键类型的时候,不可以为基本数据类型

           https://blog.csdn.net/weixin_42054155/article/details/80715750

        java 八大基本数据类型: 

        byte- > short- > char- > int- > long- > float- >double(小到大)

        但是在向 hashMap 中存入键值对的时候,可以存入键为基本类型的数据

                               hashMap.put( 1,  3 );

        这是因为java存在一个装箱机制, 实际在底层存入的时候,其实是类似于:

                              hashMap.put(  new Int(1)  ,    3)

        给基本类型加个盒子,变成包装类。

    3. HashMap 底层存储键值对是无序的,即存进去的顺序和取出来的顺序是不一致的,

    需要有序的存入存出,需要什么样的Map?

           Hashmap是散列映射,也就是它不会记录数据存储时的顺序,也就无法保证你取出时的顺序,为了解决这个问题,

          很简单采用LinkedHashMap或者是TreeMap,当然会造成一些额外开销。

           你从linkedHashMap, TreeMap 名字,就知道他们的存入取出是按照一定规则进行的

    4. 如何设置一个数组元素为全部1 或者 0

          int[] a = new int[];

          Arrays.fill(a, 1)  //  数组元素全部填充为1

    5、 java 的参数 传递

    https://blog.csdn.net/weixin_40288381/article/details/87798960

    java 的参数传递分为两种类型: 值传递, 引用传递

    (1) 值传递

         传递的是原对象的一个拷贝版本,是与原来对象值相同,但内存地址不相同的一个新的对象

    (2) 引用传递

         传递的是原对象的地址,也就是在传值的时候,其实传递的对象的地址引用

    所以: 值传递下: 拷贝对象的修改不会更改原对象, 因为他们实际上是两个不同的地址空间

                引用传递下: 对象的修改会改变原有对象,因为他们实际上是一个对象,指向同一个内存空间地址

    问题来了: java 中 哪些对象的传递是值传递,哪些又是引用传递?
                 值传递的只有基础类型 + 包装类: byte- > short- > char- > int- > long- > float- >double(小到大)(八大基础类型)

                 包装类具有不可变性,所以也可以看做是值传递

                 其余剩下的都是引用传递。

                                                            

    6、 编程中除法用">>" 位运算

         x / 2   变为  x >> 1;   

       

    7、 面对题目中没有显示 n 的大小范围的数的时候, 你可能就需要去考虑大数问题

      不管使用什么类型去装载,都有可能造成溢出问题,所以在只是输出数字的情况下,可以使用字符串去承载

    8、 在查找数字类问题的时候,建议先从二分法去建立思路

     9、 substr(1)   就是从索引1开始截取(针对字符串)

      

       

     

  • 相关阅读:
    css3 径向渐变
    进度条-线性渐变
    echars 图表提示框自定义显示
    Android Ndef Message解析
    android 应用程序记录AAR
    android的nfc卡模拟开发
    《NFC开发实战详解》笔记
    1、Altium Designer 入门
    Stm32之通用定时器复习
    external与static的用法
  • 原文地址:https://www.cnblogs.com/helloqiufei/p/12048940.html
Copyright © 2020-2023  润新知