集合:List、Set 与 Map
Java 集合优先使用接口类型声明,按语义选择实现:
List<String> names = new ArrayList<>();
Set<String> tags = new HashSet<>();
Map<String, Integer> scores = new HashMap<>();
| 类型 | 适合场景 | 关键特性 |
|---|---|---|
List |
有顺序、允许重复 | 按下标访问 |
Set |
不希望重复 | 元素唯一性由 equals / hashCode 决定 |
Map |
通过键查值 | 键唯一;同一键后写入会覆盖旧值 |
泛型 <String> 让编译器检查元素类型,避免取出时再强制转换。
HashMap 和 HashSet 不保证遍历顺序;需要插入顺序或排序时,应明确选择 LinkedHashMap、TreeMap 等实现,而不是依赖偶然顺序。