Old-Java类集框架随笔

结构

Map

├── HashMap
│ └── LinkedHashMap
├── SortedMap (接口)
│ └── TreeMap
└── Hashtable (遗留类,线程安全)

Collection

├── List(ListIterator可用)
│ ├── ArrayList
│ ├── LinkedList
│ ├── Vector
│ │ └── Stack
├── Set
│ ├── HashSet
│ │ └── LinkedHashSet
│ └── TreeSet
└── Deque (通常由 ArrayDeque 实现)
└── ArrayDeque

选代器与类集

两种多次循环时不同

Iterator<String> iterator = list.iterator();
while (iterator.hasNext()) {
    String item = iterator.next();
    if ("B".equals(item)) {
        iterator.remove(); // SAFE
    }
}

隐式遍历(for循环增强)会自动创建迭代器
隐式遍历不使用迭代器会 modCount != expectedModcount
ConcurrentModificationtExece
ption

创建迭代器时,使用泛型

否则会变成原始类型,变成object对象(raw类型),拿出时需要指定类型,不安全
(当然,只读时foreach即可

迭代器用法总结


键值对Key-Value:Map (HashMap

去重?Set: (HashSet
重复且有顺序?List: (ArrayList
FIFO or LIFO ? Deue: (ArrayDeque

posted @ 2025-12-11 00:09  气温骤降  阅读(11)  评论(0)    收藏  举报