• 普林斯顿大学算法课 Algorithm Part I Week 3 自我总结


    要熟练掌握比较器Comparator

    public final Comparator<T> MY_COMPARATOR = new myComparator(); //定义比较器
    .....
    public int comparaTo(T t){
    .....
    }
    
    private class myComparator implements Comparator<T>{
      public int compare(T v, T w){
      return v.comparaTo(w)                   
      //compare()是比较器里的重写方法
      //一般来说compareTo()是compare()的具体实现方法,但这不是固定的,只是习惯。你可以完全不用compareTo()
      }
    }

    Week3作业里提到的一些方法或类

    • toString()
    • draw.point()和draw.line():画点和画线段
    • Comparator
    • java.util.Arrays.sort(a, lo, hi)、java.util.Arrays.sort(a, lo, hi, Comparator)  ——> 很常用很重要的排序

    代码风格:

    return new MyClass() {
      @Override public void method() {
        if (condition()) {
          try {
            something();
          } catch (ProblemException e) {
            recover();
          }
        }
      }
    };
    • 左大括号前不换行
    • 左大括号后换行
    • 右大括号前换行
    • 如果右大括号是一个语句、函数体或类的终止,则右大括号后换行; 否则不换行。例如,如果右大括号后面是else或逗号,则不换行。
    void doNothing() {}
    • 一个空块状结构什么也不包含,不需要换行,括号写在一起。
    if () {
    // your code
    }
    else if {
    // your code
    }

    需要空格的地方

    • 分隔任何保留字与紧随其后的左括号(()(如if, for catch等)。
    • 分隔任何保留字与其前面的右大括号(})(如else, catch)。
    • 如果在一条语句后做注释,则双斜杠(//)两边都要空格。这里可以允许多个空格,但没有必要。
    • 类型和变量之间:List list。
    • 数组初始化中,大括号内的空格是可选的,即new int[] {5, 6}和new int[] { 5, 6 }都是可以的。

    参考:Google Java Style中文版


    需要加强的部分  

    • API文档的查看
    • 编辑器的使用(不会用,心情被搞得好糟糕)
  • 相关阅读:
    JSON 串 自定义解析字段
    JspWriter与PrintWriter的关系
    Map 根据value 排序
    Log4j NDC MDC
    stray '/241' in program 错误
    【Qt开发】修改源码文件的编码格式的小技巧 .
    Tomcat 虚拟目录映射
    《疯狂Java讲义精粹》读书笔记4 基本包装类
    《疯狂Java讲义精粹》读书笔记8 不可变类
    《疯狂Java讲义精粹》读书笔记9 接口
  • 原文地址:https://www.cnblogs.com/Jimtastic/p/4006432.html
Copyright © 2020-2023  润新知