【Comparable】 【程序分析】【如何选择数据结构】衡量标准:读的效率和改的效率Array读快改慢Linked改快读慢Hash两者之间
分类:
编程语言 时间:
2015-03-20 21:42:17
阅读次数:
120
Java的集合类分为两个类型,Collection和Map,Collection又分为Set和List。
1. 集合类中元素是否相同
HashSet使用equals和HashCode两个函数共同决定
TreeSet使用comparable接口中的compareTo,或者comparator中的compare函数
ArrayList使用equals函数
HashMap中的key和Has...
分类:
编程语言 时间:
2015-03-18 16:02:54
阅读次数:
259
题目two num
题意:给定一个整数数组和一个目标值,要求在数组中找到两个数,使得它们的和相加等于目标值,并且返回两个数的下标
思路:1.如果使用暴力,时间复杂度为O(n^2)
2.可以先将所有数进行排序,从最大值和最小值开始匹配再根据和目标值的比较移动,知道找到结果,时间复杂度为O(nlog(n))
知识点:comparable 接口的使用,利用其进行对象的自然排序,相关文章
pub...
分类:
编程语言 时间:
2015-03-16 01:04:02
阅读次数:
142
在今天做的LeetCode的题中有两道都出现了利用接口实现对象的排序,两题的相关链接:
1.利用comparable接口对对象排序
2.利用comparator接口实现排序
由于之前都没接触过这两个接口,一时不能明白它们的作用,所以在网上查找了很多资料,现在大致弄清楚一些,现在记录下来,有什么欠缺,欢迎大家及时指正
1.Comparable接口
在java API文档中描述此接口...
分类:
其他好文 时间:
2015-03-16 01:02:02
阅读次数:
289
要想对List进行排序,可以让实体对象实现Comparable接口,重写compareTo方法即可实现按某一属性排序,但是这种写法很单一,只能按照固定的一个属性排序,没变法变化。通过下面这种方法,可以动态的指定List按照某一个属性进行排序,例子很简单,看代码就明白了。 import java...
分类:
编程语言 时间:
2015-03-12 11:01:03
阅读次数:
195
泛型是JavaSE5 引入的特性,泛型的本质是参数化类型。应用场景:在类,接口和方法的定义过程中,所操作的数据类型被传入的参数指定。
例如在ArrayList类的定义中,中的E为泛型参数,在创建对象是可以将类型作为参数传递,此时定义中的所有E将被替换为传入的参数;...
分类:
编程语言 时间:
2015-03-11 10:54:42
阅读次数:
197
1.从功能上看,Comparable接口需要对象本身具备比较的特性;而Comparator则不需要,希望两个对象进行什么样的排序,就实现什么样的Comparator,这在不希望修改已有类的情况下非常有用
2.从设计上看,Comparable接口属于强耦合接口,Comparator数据低耦合接口。使用Comparable接口来进行排序属于继承方式,也就是面向对象中的is-a关系,最好在设计...
分类:
其他好文 时间:
2015-03-09 22:30:55
阅读次数:
226
/** TreeSet存储对象的时候, 可以排序, 但是需要指定排序的算法** Integer能排序(有默认顺序), String能排序(有默认顺序), 自定义的类存储的时候出现异常(没有顺序)** 如果想把自定义类的对象存入TreeSet进行排序, 那么必须实现Comparable接口* 在类上i...
分类:
其他好文 时间:
2015-03-05 19:18:54
阅读次数:
146
首先我们得说明在Collections里面有两个排序方法
public static void sort(List list, Comparator c)
public static > void sort(List list) 很清晰,第二个方法不需要传入比较器,但是传入的待排序的参数list必须实现Comparable接口。
我们目前就只看第二个sort。
Collection...
分类:
其他好文 时间:
2015-03-04 14:44:50
阅读次数:
154
1.HashSet为快速查找而设计的Set
TreeSet底层为树结构,必须要实现Comparable接口,存入的元素会按照compareTo方法中的规则排序
LinkedHashSet内部使用链表维护元素的插入次序。
2.HashMap使用对象的hashCode()进行快速查询的,此方法能够显著提高性能。
LinkedHashMap使用链表维护内部次序(插入次序)
...
分类:
编程语言 时间:
2015-03-03 22:08:23
阅读次数:
235