《改善Java程序的151个建议》读后感

写在前面,之前是因为翻到了看了几个厉害的大神的博客。其中的好几个帖子中都说到了这本书,就下了pdf格式,看了下。记录了以前不知道或用的很少的点。

回头再书中看到不懂的点,百度是,很多博客依旧还是用的这本书的例子。所以赞书!


//java程序151个建议:笔记

(a):排序中不是英文的,中文排序可以用:

Comparator<Object> col = Collator.getInstance();
Arrays.sort(arr, col);
(b):ArrayList是个可变成的数组。默认长度为10,每当长度超过,则调用Array.cofyOf(),一次扩容1.5倍
(c):Set集合,元素不重复,且子类TreeSet自动排序,他下面的lower(xxx)方法,是:给出小于xxx的最大元素,用于求出第二大值
(d):Arrays的asList()方法,可以将数组转为List 但是,这个数组类型必须是【】引用类型】,如果是8中基本数据类型就不可以
asList()返回一个长度不可变的列表,产生的List对象不可修改
(e):判断集合是否相等只要判断元素是否相等
(f):List的subList()方法,产生的是一个视图类型,其add,set,get,remove都是直接作用在原列表上,
若比较,必然是相等的。生成subList子表后,就不要再在原列表操作,否则子表会报错。或者设置
list=Collections.unmodifiableList(list);--设置列表为只读状态
doReadSomething(list);--对原列表进行只读操作
doReadAndWriteSomething(subList);--对子表进行读写操作
(g):List中的集合运算
并集:list1.addAll(list2);--list1就是2个列表的并集元素
交集:list1.retainAll(list2);--retainAll会删除list1中没有出现在list2的元素
差集:list1.removeAll(list2);--删除出现在list2的元素
无重复的并集:
list2.removeAll(list1);--删除在list1中出现的元素
list1.addAll(list2);--把剩余的list2元素加入到list1中

PS:书中说,很少人会用到这个的JDK提供的方法, 而另写方法。估计是想说浪费了吧

在后面就是枚举的一下,说枚举用来做常量很好。然后就是泛型。泛型看的我很困,这时候已经看到了90+快100个建议了。

这个(a)好像是从第30+几个开始记的。最开头看的时候也很困。

书也还没看完,明天继续。最后,剩下的好像是一些异常,并发,性能相关的建议。我觉得我这个菜鸡并不能看懂。上帝保佑。

以上。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值