消灭 Java 代码的“坏味道”(12)
反例:
1.4.集合初始化尽量指定大小
java 的集合类用起来十分方便 , 但是看源码可知 , 集合也是有大小限制的 。 每次扩容的时间复杂度很有可能是 O(n) , 所以尽量指定可预知的集合大小 , 能减少集合的扩容次数 。
反例:
正例:
1.5.字符串拼接使用 StringBuilder
一般的字符串拼接在编译期 java 会进行优化 , 但是在循环中字符串拼接 , java 编译期无法做到优化 , 所以需要使用 StringBuilder 进行替换 。
反例:
正例:
1.6.List的随机访问
大家都知道数组和链表的区别:数组的随机访问效率更高 。 当调用方法获取到 List 后 , 如果想随机访问其中的数据 , 并不知道该数组内部实现是链表还是数组 , 怎么办呢?可以判断它是否实现 RandomAccess 接口 。
推荐阅读
- 新世界|《新世界》爆出恶性踢人Bug,直接聊天窗发代码
- 神秘代码|MSJOY神秘代码调侃三大女解说,小彤发图自嘲,风筝一招制敌
- 地下城与勇士|DNF:玩家意外开启GM模式,装备竟自带一串神秘代码,全服唯一
- 神秘代码|剑网3缘起如约而至
- 神秘代码|可恶,游戏服务器的名字也太香了,这还是家正经的游戏公司吗?
- 我的世界|我的世界:Java种子新出炉,内陆蘑菇岛算什么,这些种子它不香?
- 魔兽世界怀旧服|魔兽怀旧服:拍卖行恶意插件,玩家上万金币凭空消失,慎用WA代码
- 暗黑破坏神|原神:米哈游终于动手了,一个响指,消灭了一半的号贩子
- 上古卷轴5|杀光整個天际省!玩家费时2月消灭整个《上古卷轴5》所有生命
- 侠盗猎车手|史上牵扯最广“屎山”代码:if循环19.8亿次,7年无人敢动!终于被修复了!