Java教程

今日总结

本文主要是介绍今日总结,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

学习大数的相加和相乘用字符串的形式来表达,相加,相乘的思路差不多,都采用指针指向的两个字符串,-- 复习 --

  相加;;1、获取两个字符串的长度;;2、设置一个car保存进位信息;;3、循环判断指针大于零或者car大于零;;4、car+=两个字符的数字;;5、StringBuilder来接收car%10,car=car/10;;6、返回sb的reverse的toString方法;

  相乘;;1、获取两个字符串长度;;2、创建一个总长度的int数组;;3、while判断指针大于零;;4、用val来保存两个字符相乘结果;;5、val需要加上右一位的数字;;6、int数组的i+ j的位置加上 val / 10;;7、int数组的i + j + 1位置置为val % 10;;8、i = 0, 当int【i]】 == 0 时,i++,主要是消除前导零;;9、创建sb来接收int【】结果,返回jsb的toString方法。

 

学习了map怎么排序;;实现:1、把map转为list,主要是转化为list;;2、利用collection的sort方法和comparetor构造器实现对key还是value的排序;;3、排序好的list可以按需输出;;

public static void main(String[] args) {
        LinkedHashMap<String, Integer> map = new LinkedHashMap<>();
        for (int i = 0; i < 10; i++) {
            map.put(String.valueOf(i),i + 100);
        }
        List<Map.Entry<String, Integer>> entries = new ArrayList<Map.Entry<String, Integer>>((map.entrySet()));
        Collections.sort(entries, (o1, o2) -> {
            return o2.getValue() - o1.getValue();
        });
        for (Map.Entry<String, Integer> entry : entries) {
            System.out.print(entry.getKey() + ":" + entry.getValue() + " ");
        }
    }

学习了mysql中的索引的目的是什么?实现是什么?为什么这么快?IO磁盘读取方面,读取磁盘中的数据到内存中,时间分为三类;;寻道时间、找到正确扇区的时间、加载数据到内存的时间,主要耗时还是前两个;索引的目的是为了减少磁盘的读取次数,具体实现:B+树,减少磁盘的读取次数。

学习了什么时候索引会失效?;;;1、like通配符%开头的where查询;;2、索引字段有函数或者及计算;;3、where不符合最左匹配原则;;4、隐式的函数计算;;5、查询条件中有or;;6、mysql优化器,最终决定不走索引;;7、索引字段可以为null,但是查询的is null 或者is not null的时候,索引失效;;;8、隐式的字符串的转化;;9、使用了负向查询可能会导致索引失效,查询的有<>、!<、!>、NOT、NOT,!=、NOT IN、NOT LIKE、其中,!< !> SQLServer语法

学习了MySQL优化器会选择最优方案进行查询和对比。

这篇关于今日总结的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!