代码规范 : 集合处理
来源:互联网 发布:美工电脑是什么意思 编辑:程序博客网 时间:2024/06/05 22:30
一下内容来自<阿里巴巴JAVA开发手册>(描述非常简陋,日后会详细补充)
- 【强制】 关于 hashCode 和 equals 的处理,遵循如下规则:
1) 只要重写 equals,就必须重写 hashCode,
2) 因为 Set 存储的是不重复的对象,依据 hashCode 和 equals 进行判断,所以 Set 存储的对象必须重写这两个方法。
3) 如果自定义对象做为 Map 的键,那么必须重写 hashCode 和 equals。 - 【强制】 ArrayList的subList结果不可强转成ArrayList,否则会抛出ClassCastException 异常:
- 【强制】 在 subList 场景中, 高度注意对原集合元素个数的修改,会导致子列表的遍历、增加、删除均产生 ConcurrentModificationException 异常
- 【强制】使用集合转数组的方法,必须使用集合的 toArray(T[] array)
- 【强制】泛型通配符
<? extends T>
来接收返回的数据,此写法的泛型集合不能使用 add 方法。 - 【强制】不要在 foreach 循环里进行元素的 remove/add 操作。 remove 元素请使用 Iterator
方式,如果并发操作,需要对 Iterator 对象加锁。 - 【强制】 在 JDK7 版本以上, Comparator 要满足自反性,传递性,对称性,不然 Arrays.sort,
Collections.sort 会报 IllegalArgumentException 异常。 - 【推荐】集合初始化时,尽量指定集合初始值大小。说明: ArrayList 尽量使用 ArrayList(int initialCapacity) 初始化。
- 【推荐】高度注意 Map 类集合 K/V 能不能存储 null 值的情况,
- 【参考】利用 Set 元素唯一的特性,可以快速对一个集合进行去重操作,避免使用 List 的
contains 方法进行遍历、对比、 去重操作。 - 【参考】合理利用好集合的有序性(sort)和稳定性(order),避免集合的无序性(unsort)和
不稳定性(unorder)带来的负面影响。
阅读全文
0 0
- 代码规范 : 集合处理
- 集合处理的一些规范
- Java开发代码规范之编程规约(五)——集合处理
- 阿里编码规范(二)OOP规约,集合处理,并发处理
- Java编码规范,让你的代码赏心悦目--错误处理
- 代码规范
- 代码规范
- 代码规范
- 代码规范
- 代码规范
- 代码规范
- 代码规范
- 代码规范
- 代码规范
- 代码规范
- 规范代码
- 代码规范
- 代码规范
- caffe 训练模型时出错 caffe-parallel has a bug: Check failed: proto.SerializeToOstream(&output)
- SDUT 2122-数据结构实验之链表七:单链表中重复元素的删除
- 可扩展ListView
- caffe编译 `make pytest` 出错:`fatal error: 'pyconfig.h' file not found`
- android之微信分享音频
- 代码规范 : 集合处理
- Resource Acquisition Is Initialization(RAII)
- 3.Longest Substring Without Repeating Characters
- MongoDB的基本使用
- poj 2236
- 南阳oj S + T
- R之箱线图
- 设计模式知识连载(26)---模板方法模式:
- c++派生类与继承