2018年1月21日

引用类型的自定义数据排序——高淇JAVA300讲笔记

摘要: 自定义类的排序 1.实体类 实现java.lang.Comparable接口,重写compareTo方法 2.业务排序类 实现java.util.Comparator接口,重写compare方法。一般工作中推荐使用这种,因为比较灵活,可以为每一个单独的排序方法写一个业务排序类。 案例一:实现Comp 阅读全文

posted @ 2018-01-21 12:42 爱游泳的小飞象 阅读(209) 评论(0) 推荐(0) 编辑

2018年1月20日

引用类型的内置类大小比较(用Comparator接口实现)——高淇JAVA300讲笔记之Comparator接口

摘要: 提供排序的比较器,业务比较器。 ——实现java.util.Comparator接口 ——重写public int compare(T o1, T o2); 作用: ——解耦:独立于实体类 ——方便:便于应对各种排序规则 我个人的理解就是,通过重写compare方法自己来定义比较大小的方法,自己想怎 阅读全文

posted @ 2018-01-20 19:43 爱游泳的小飞象 阅读(154) 评论(0) 推荐(0) 编辑

引用类型的内置类大小比较(用Comparable接口实现)——高淇JAVA300讲笔记之Comparable接口

摘要: “排序”的实体类都实现了java.lang.Comparable接口。Comparable接口中只有一个方法: public int compareTo(Object obj); 该方法: 返回0 this == obj 返回正数 this > obj 返回负数 this < obj 实现了Comp 阅读全文

posted @ 2018-01-20 19:03 爱游泳的小飞象 阅读(178) 评论(0) 推荐(0) 编辑

冒泡排序——高淇JAVA300讲笔记之冒泡排序

摘要: 冒泡排序可以简单用一句话来概括:有n个数就总共要排(n-1)趟,每趟要排(n-i-1)次。 裴新老师还做了优化,减少趟数。原理是:如果进行某趟排序时一次元素交换都没有发生,就说明该数组已经是有序的了,这时候就可以break跳出循环,不用进行下一趟了。 输出结果是: 可以看到,优化过的方法里只排了2趟 阅读全文

posted @ 2018-01-20 18:54 爱游泳的小飞象 阅读(131) 评论(0) 推荐(0) 编辑

分拣存储02——高淇300讲笔记之分拣存储

摘要: 案例2的题目是这样的:定义一个Student类,属性:name姓名,no班号,score成绩。现在将若干Student对象放入List。请统计出每个班级的总分和平均分。 思路非常简单,同样也是用分拣存储的思想: 1.建一个学生类Student,里面有姓名、班级名称、成绩。 2.建一个班级类Class 阅读全文

posted @ 2018-01-20 18:37 爱游泳的小飞象 阅读(172) 评论(0) 推荐(0) 编辑

2018年1月19日

分拣存储01——高淇JAVA300讲笔记之分拣存储

摘要: 利用HashMap实现分拣存储,可以简单理解成往特定的袋子里装东西。举个例子,装苹果的袋子里只能往里丢苹果,装橘子的袋子里只能往里丢橘子。 以下代码的作用是统计一段英文句子里每个单词出现的次数。 解决思路: 1.把句子分割成单词存进数组里; 2.遍历这个数组,把单词存进HashMap里。HashMa 阅读全文

posted @ 2018-01-19 22:13 爱游泳的小飞象 阅读(190) 评论(0) 推荐(0) 编辑

2018年1月18日

自定义实现迭代器——高淇JAVA300讲笔记之迭代器

摘要: 这段代码分别以不同的方式实现了iterator()方法,实现了add()方法在末尾添加元素。自定义的Iterator对象具有hasNext()、next()、remove()方法。数组的拷贝用到了Arrays.copyOf方法,这个方法传回的数组是一个新的数组对象。 阅读全文

posted @ 2018-01-18 22:41 爱游泳的小飞象 阅读(193) 评论(0) 推荐(0) 编辑

2018年1月13日

用容器类的Iterator接口进行遍历的2种方式

摘要: 所有实现了Collection接口的容器类都有一个iterator方法用以返回一个实现了Iterator接口的对象。Iterator对象称作迭代器。 用Iterator遍历set通常有两种方法。 方法一:用是否有下一个元素作为while循环的条件 方法二:用for循环 阅读全文

posted @ 2018-01-13 19:37 爱游泳的小飞象 阅读(286) 评论(0) 推荐(0) 编辑

2018年1月7日

实现一个简单的LinkedList——高淇JAVA300讲笔记之LinkedList

摘要: 老高的这部分代码其实写的比较粗糙,比如头结点和尾节点都考虑的不是很全面,不过敲一遍用来理解LinkedList的原理还是不错的。实现了add()、get()、size()、remove()等方法。 LinkedList也是有序,可重复的。底层实现是链表,线程不安全,效率高。查询慢,修改、插入、删除快 阅读全文

posted @ 2018-01-07 17:18 爱游泳的小飞象 阅读(436) 评论(0) 推荐(0) 编辑

2018年1月6日

模仿JDK写一个简单的ArrayList——高淇JAVA300讲笔记之ArrayList

摘要: 最近在看高淇300讲的视频,已经看了100集出头了,是时候整理下笔记了。 ArrayList是List的子类,有顺序,可以重复。底层实现是数组,线程不安全,效率高。查询快,修改、插入、删除慢。 以下代码简单地实现了ArrayList的add()、set()、isEmpty()、remove()、ge 阅读全文

posted @ 2018-01-06 22:19 爱游泳的小飞象 阅读(277) 评论(0) 推荐(0) 编辑

导航