Java集合与泛型:排序与比较的深入解析
1. 集合类型比较
在Java中,有多种集合类型,它们各有特点。首先,我们来看 merge() 方法的行为,其规则如下表所示:
| 如果请求的键 | 映射函数返回 | 则 |
| — | — | — |
| 在映射中值为null | N/A(不调用映射函数) | 用值参数更新映射中键的值 |
| 在映射中有非空值 | null | 从映射中移除该键 |
| 在映射中有非空值 | 非空值 | 将键设置为映射函数的结果 |
| 不在映射中 | N/A(不调用映射函数) | 直接将键和值参数添加到映射中,不调用映射函数 |
接着,我们来比较四种主要的集合类型:
| 类型 | 可包含重复元素? | 元素总是有序? | 有键和值? | 必须按特定顺序添加/移除? |
| — | — | — | — | — |
| List | 是 | 是(按索引) | 否 | 否 |
| Map | 是(对于值) | 否 | 是 | 否 |
| Queue | 是 | 是(按定义的顺序检索) | 否 | 是 |
| Set | 否 | 否 | 否 | 否 |
此外,还有一些旧的集合,如 Vector (实现 List )、 Hashtable (实现 Map )和 Stack (实现 Queue ),但它们在现代代码中很少使用,因为有更好的
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



