* 12-01 今天被VScode node debug模式搞得很烦,后面发现是VScode 版本的问题原本是 1.62.5修改为 1.55.2就可以了 * 12-02 查看韩顺平OPP 章节总结 查看OOP高级章程总结、复习装箱与拆箱,wrapper、包装类测试、 * 12-04-06 包装类与String 相互转换、Integer创建机制,String结构剖析、String对象特性 * 12-07 String对象特性,String常用方法(substring,indexof,lastIndexof等) * 12-08 使用了个免费一个月的阿里云服务器,安装了docker nginx oh-my-zsh。 java String 中的compareTo方法与 format方法 、StringBuffer、StringBuffer与String相互转化,StringBuffer常用方法(append,delete,replace,insert) * 12-09 自己台式机上安装了 windows terminal,StringBuffer练习,StringBuilder,对比了 String、StringBuffer、StringBuilder 效率 其中String最低,StringBuilder最高,StringBuffer其次 * 12-11-12 Arrays源码分析,运用toString 以及分析运行了sort函数的源码,用冒泡排序自己实现如下: ```java public static void sortMaoPao(int[] ints, Comparator comparator) { int temp; for (int i = 0; i < ints.length -1; i++) { for (int j = 0; j < ints.length-i-1; j++) { if(comparator.compare(ints[j],ints[j+1]) > 0) { temp = ints[j]; ints[j] = ints[j+1]; ints[j+1] = temp; } } } } ``` * 12-13 -1 今天换优衣库衣服有点儿忙从晚上9点半才开始,将昨天的ArraysExercise 练习完成 需求是: ***案例:自定义Book类,里面包含name和price,按price排序(从大到小)。要求使用两种方式排序,对对象的某个属性排序,有一个 Book[] books= 5本书对象.*** ``` java // 核心代码是 Arrays.sort(books, new Comparator() { @Override public int compare(Object o1, Object o2) { Book book1 = (Book) o1; Book book2 = (Book) o2; // 价格从大到小 return book2.getPrice()-book1.getPrice()>0?1:-1; // 书名从小到大 // return book1.getName().length() - book2.getName().length(); } }); ``` * 12-13 -2 System类常见方法与案例、Date的使用方法类图以及案例 * 12-14 今晚加班将demo中的 stompjs 迁移至apk包中发现不能使用websocket,便使用uni的插件进行socket连接。学习了Date 、Calendar、LocalDateTime使用示例方法 * 12-15 编写了String字符串翻转问题, 注册处理题(判断数字密码纯数字,邮箱@字符必须在 .之前等,homework03 名字首字母大写以及重排问题) * 12-16 java集合、集合主要是两种(单列集合、双列集合) * 12-17-19 java Collection方法,迭代器iterator的使用、增强for循环的使用、 遍历练习题、List常用方法如 add、addAll、indexOf、subList等方法、List排序练习 ListExercise02 ``` java Iterator iterator = arrayList.iterator(); while (iterator.hasNext()) { Object next = iterator.next(); if(next instanceof Book) { Book book = (Book) next; System.out.println(book); } } ``` * 12-20 ArrayList注意事项,(可以add null,多个重复,多线程下ArrayList不安全建议使用Vector)、ArrayList 扩容机制,每次扩容为elementData的1.5倍 ```java /** ArrayList 本质操作的是 elementData transient 表示的是短暂的瞬时的表示该属性不会被序列化 **/ transient Object[] elementData ``` * 12-21 ArrayList源码分析 无参构造器创建使用ArrayList * 12-22 ArrayList源码分析,有参构造器(传入数值大小以及一个集合)、Vector源码分析 对比与ArrayList 的不同之处 * 12-23 LinkedList双向链表模拟 自己建了一个Node类并进行操作、LinkedList源码追踪 * 12-24-26 LinkedList源码分析,add,remove,set,size等操作方法,以及分析了List集合的选择、Set介绍,(无序(添加顺序与取出顺序不一致),没有索引(没有get方法),不能存放重复元素、取出的顺序是固定的)