java中 instanceof 的用法
instance是判断对象是否是特定类的一个实例(也就是必须是有继承关系,Dog d=new Cat()就会出现编译异常)
d是Dog类型的实例
Dog类型是Animal的子类
Cat类型也是Animal子类
但是Cat类型和Dog类型之间没有任何父子关系
所以无法判断自然出现了异常
java arraylist 集合排序问题
你可以使用Collections 提供的sort方法对ArrayList进行排序,sort方法提供了一个Comparator接口类型的参数,这个参数中可以自定义排序规则
你可以自定义一个类实现Comparator接口,在里面编写你需要的排序规则,然后通过以下方式排序ArrayList
Collections.sort(arraylist,自定义排序规则对象);
sort
public static 《T》 void sort(List《T》 list,
Comparator《? super T》 c)
根据指定比较器产生的顺序对指定列表进行排序。此列表内的所有元素都必须可使用指定比较器相互比较(也就是说,对于列表中的任意
e1 和 e2 元素,c.compare(e1, e2) 不得抛出
ClassCastException)。
此排序被保证是稳定的:不会因调用 sort 而对相等的元素进行重新排序。
排序算法是一个经过修改的合并排序算法(其中,如果低子列表中的最高元素小于高子列表中的最低元素,则忽略合并)。此算法提供可保证的 n log(n) 性能。
指定列表必须是可修改的,但不必是可大小调整的。此实现将指定列表转储到一个数组中,并对数组进行排序,在重置数组中相应位置每个元素的列表上进行迭代。这避免了由于试图原地对链接列表进行排序而产生的
n2 log(n) 性能。
参数:
list - 要排序的列表。
c - 确定列表顺序的比较器。null 值指示应该使用元素的自然顺序。
抛出:
ClassCastException -
如果列表中包含不可使用指定比较器相互比较 的元素。
UnsupportedOperationException
- 如果指定列表的列表迭代器不支持 set 操作。
另请参见:
Comparator
java.util
接口 Comparator《T》
类型参数:
T - 此 Comparator 可以比较的对象类型
strlen sizeof 在C语言中是什么意思
strlen是求字符串实际长度的意思,例如char
*str=“hello
world”。则strlen[str]的返回值是11.sizeof是用来求一个变量所占的内存的。例如int
a=0.则sizeof(a)的返回值是4
。如果还有什么疑问,可以随时给我发邮件:sword2ya@139.com
-eof