日常开发选集合常纠结,记住两个关键场景:
若频繁做 “查询”(比如get(index)),选 ArrayList,底层数组支持随机访问,速度快;若频繁做 “增删”(尤其是中间位置),选 LinkedList,底层链表只需改指针,不用像数组那样移动元素。
反例:用 LinkedList 做大量查询,每次都要从表头遍历,效率极低;用 ArrayList 频繁插删,数组扩容和元素移动会浪费资源。
日常开发选集合常纠结,记住两个关键场景:
若频繁做 “查询”(比如get(index)),选 ArrayList,底层数组支持随机访问,速度快;若频繁做 “增删”(尤其是中间位置),选 LinkedList,底层链表只需改指针,不用像数组那样移动元素。
反例:用 LinkedList 做大量查询,每次都要从表头遍历,效率极低;用 ArrayList 频繁插删,数组扩容和元素移动会浪费资源。