摘要: 删除一个列表100个元素中的位置为20~30的元素。因为subList是原列表的一个视图,删除视图即删除原数据。 阅读全文
posted @ 2013-12-22 22:59 akingseu 阅读(169) 评论(0) 推荐(0) 编辑
摘要: 因为subList是对原列表的一个视图上的操作。所以,subList上的操作也会影响到原List列表。于是 c.equals(c2);c1 就not euqals c 阅读全文
posted @ 2013-12-22 19:07 akingseu 阅读(167) 评论(0) 推荐(0) 编辑
摘要: ArrayList,Vector都实现了List接口,继承了抽象类AbstractList,equals方法时在AbstractList中实现的。 阅读全文
posted @ 2013-12-22 12:32 akingseu 阅读(166) 评论(0) 推荐(0) 编辑
摘要: ArrayList的add方法的实现是采用 System.arraycopy方法LinkedList是一个双向链接,对于插入操作,比ArrayList的效率要高50倍以上。删除操作,linkedList的效率也很高,比ArrayList快40倍以上但修改元素操作,ArrayList的效率高些。 阅读全文
posted @ 2013-12-22 12:29 akingseu 阅读(140) 评论(0) 推荐(0) 编辑
摘要: 对于ArrayList遍历时,建议采用下标方式,比for(X x: xList)方式要高很多效率。而对于linkedList这些已经建立了前后的 迭代关系的,则用for ..each语法相对会高效。 阅读全文
posted @ 2013-12-22 12:24 akingseu 阅读(122) 评论(0) 推荐(0) 编辑
摘要: 运行时报错简单说: asList返回的List无法实现动态增加和消除。 阅读全文
posted @ 2013-12-22 12:16 akingseu 阅读(155) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2013-12-22 12:11 akingseu 阅读(119) 评论(0) 推荐(0) 编辑
摘要: 1. 快速查找,直接遍历方法2.先排序,后取值注意此时可能要先clone原数组内容,否则排序了可能影响了之前的数据。3.有重复的可能要去重Treeset 阅读全文
posted @ 2013-12-22 12:09 akingseu 阅读(137) 评论(0) 推荐(0) 编辑
摘要: 好处在于,避免动态内存的口冲分配问题(1.5倍扩充),减小开销,因为扩充后需要重新预约空间和数据的搬移工作。但前提在于能大概知道需要多少的存储空间,从而避免浪费。 阅读全文
posted @ 2013-12-22 12:06 akingseu 阅读(113) 评论(0) 推荐(0) 编辑
摘要: Arrays.copyof(obj,length);该方法是一个浅拷贝,容易导致新拷贝出来的obj和原来的obj是一样的地址,从而修改新obj的内容对原obj有影响。 阅读全文
posted @ 2013-12-22 12:03 akingseu 阅读(138) 评论(0) 推荐(0) 编辑
摘要: 如果要按拼音排序:而对于一些复杂的汉字的排序,是后来补充上去的。由于Java使用的是unicode编码,中文的unicode字符集是来源于gb18030,gb18030又是从gb2312发展起来的。所以完整排序比较困难。 阅读全文
posted @ 2013-12-22 12:00 akingseu 阅读(197) 评论(0) 推荐(0) 编辑
摘要: 这个深有体会。能够使用编码的地方,请尽量指定,以维持一致性。 阅读全文
posted @ 2013-12-22 11:54 akingseu 阅读(209) 评论(0) 推荐(0) 编辑
摘要: Pattern pattern = Pattern.compile("\\b\\w+\\b");Mathcher mather = pattern.mathcer(str); 阅读全文
posted @ 2013-12-22 11:50 akingseu 阅读(99) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2013-12-22 11:25 akingseu 阅读(197) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2013-12-22 11:22 akingseu 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2013-12-22 11:20 akingseu 阅读(129) 评论(0) 推荐(0) 编辑
摘要: eg:replaceAll(A,regex)第二个参数是正则匹配 阅读全文
posted @ 2013-12-22 11:17 akingseu 阅读(89) 评论(0) 推荐(0) 编辑
摘要: 原因: 阅读全文
posted @ 2013-12-22 11:14 akingseu 阅读(139) 评论(0) 推荐(0) 编辑
摘要: 因为会经常覆写equals方法,其目的是根据业务规则判断两个对象是否相等。建议45:覆写equals方法时,不要识别不出自己public boolean equals(Object obj){ if(obj instanceof Person){ Person p = (Person)obj; return name.equalsIgnoreCase(p.getName().trim());}}如果name本身含有空格,那样会导致不相等了。 违背了自反省建议46:equals应该考虑null情况对称性问题上述name容易为null输入。建议47:传递性不要用instanceof来... 阅读全文
posted @ 2013-12-22 10:50 akingseu 阅读(162) 评论(0) 推荐(0) 编辑
摘要: 拷贝clone() 与new的区别?浅拷贝实现clone()方法的时候,如果用默认的super.clone()方法会调用Object类的默认拷贝,缺陷:不会把所有的属性全部拷贝一份,拷贝规则:(1)基本类型,拷贝其值(2)对象:拷贝引用地址,新拷贝的对象和原有对象共享该实例变量,不受访问权限控制。(3)String字符串:拷贝的是引用,但有点特殊,在修改时,会从字符串池中重新生成新的字符串。原有的字符串内容保持不变,故可以认为String是一个基本类型。为了实现深拷贝:在clone()方法的重载时,在设置属性时new一个对象出来。这样拷贝出来的和原来的不会共有一份引用。建议44.推荐使用序列化 阅读全文
posted @ 2013-12-22 10:11 akingseu 阅读(202) 评论(0) 推荐(0) 编辑