Java List
ArrayList 和 Array(数组)的区别?加灵活:
ArrayList会根据实际存储的元素动态地扩容或缩容,而Array被创建之后就不能改变它的长度了。ArrayList允许你使用泛型来确保类型安全,Array则不可以。ArrayList中只能存储对象。对于基本类型数据,需要使用其对应的包装类(如 Integer、Double 等)。Array可以直接存储基本类型数据,也可以存储对象。ArrayList支持插入、删除、遍历等常见操作,并且提供了丰富的 API 操作方法,比如add()、remove()等。Array只是一个固定长度的数组,只能按照下标访问其中的元素,不具备动态添加、删除元素的能力。ArrayList创建时不需要指定大小,而Array创建时必须指定大小
ArrayList 和 LinkedList 有什么区别?
ArrayList 是基于数组实现的, LinkedList 是基于链表实现的
多数情况下, ArrayList 更利于查找, LinkedList 更利于增删
ArrayList 的扩容机制了解吗?
当往 ArrayList 中添加元素时,会先检查是否需要扩容,如果当前容量+1 超过数组⻓度,就会进⾏扩容。
扩容后的新数组⻓度是原来的 1.5 倍,然后再把原数组的值拷⻉到新数组中