2011年2月10日
摘要: http://macemers.javaeye.com/blog/860631 阅读全文
posted @ 2011-02-10 21:13 Ruthless 阅读(1265) 评论(0) 推荐(1) 编辑
摘要: 1. ArrayList 基于数组方式实现,无容量的限制。 在执行插入元素时可能要扩容,在删除元素时并不会减少数组的容量。 如果希望相应的缩小数组容量,可以调用trimToSize() 在查找元素时要遍历数组,对于非null的元素采取equals的方式寻找。 非线程安全。 2. LinkedList 基于双向链表机制实现。 元素的插入、移动较快。 非线程安全。 3. Vector 基于Object数组的方式来实现的。 基于synchronized实现的线程安全的ArrayList。 在插入元素时容量扩充的机制和ArrayList稍有不同: 如果capcacityIncr 阅读全文
posted @ 2011-02-10 20:36 Ruthless 阅读(3007) 评论(0) 推荐(1) 编辑
摘要: 1.首先增强for循环和iterator遍历的效果是一样的,也就说增强for循环的内部也就是调用iteratoer实现的,但是增强for循环有些缺点,例如不能在增强循环里动态的删除集合内容。不能获取下标等。2.ArrayList由于使用数组实现,因此下标明确,最好使用普通循环。3.而对于LinkedList 由于获取一个元素,要从头开始向后找,因此建议使用增强for循环,也就是iterator。下面的例子可以证明[代码]使用ArrayList运行结果如下把ArrayList改为LinkedList,我这里内存溢出了,运行结果如下于是list改成50000,运行结果如下所以在使用的时候适当选择就 阅读全文
posted @ 2011-02-10 20:22 Ruthless 阅读(68977) 评论(1) 推荐(6) 编辑
摘要: Java1.5增加了新特性:可变参数。适用于参数个数不确定,类型确定的情况,java把可变参数当做数组处理。注意:可变参数必须位于最后一项。当可变参数个数多余一个时,必将有一个不是最后一项,所以只支持有一个可变参数。因为参数个数不定,所以当其后边还有相同类型参数时,java无法区分传入的参数属于前一个可变参数还是后边的参数,所以只能让可变参数位于最后一项[代码] 阅读全文
posted @ 2011-02-10 19:31 Ruthless 阅读(3170) 评论(0) 推荐(2) 编辑