Java中是否有更简洁的方法来确认所有元素List是否相同?
boolean elementsAreIdentical() {
return new HashSet<O>(list).size() == 1;
}
Run Code Online (Sandbox Code Playgroud)
通过'清洁',我想知道我们是否可以做到这一点,而不必创建一个全新的对象?取决于大小开销可能是实质性的.
if (Collections.frequency(list, list.get(0)) == list.size()) {
/* duplicates */
}
Run Code Online (Sandbox Code Playgroud)
...对于非空的列表.除此以外,
final int n = list.size();
if (n == 0 || Collections.frequency(list, list.get(0)) == n) {
/* duplicates */
}
Run Code Online (Sandbox Code Playgroud)
请参阅规范Collections.frequency.这将比您的方法以及其他方法更便宜,例如Collections.nCopies(list.get(0), list.size()).equals(list)
| 归档时间: |
|
| 查看次数: |
175 次 |
| 最近记录: |