JAVA。哪一个类型的容器符合要求

JAVA。需要有一个容器,这个容器中的对象需要可排序,并且会频繁地做插入删除操作,则以下哪种类型的容器更符合需求?并解释一下每个选项容器的特点与适用场景,谢谢

img

选A LinkList的底层实现了List接口,底层使用的是使用双向链表的形式,存储的数据在空间上很可能不相邻,但是他们都有一个引用连在一起,所以增删起来会很方便。
其次,HashMap实现了Map接口,以键值对的方式存储,需要存储键值对的数据时使用该数据结构。
HashSet实现了Set接口,里面的数据是不能重复的,主要用于去重
ArrayList实现了List接口,底层使用的是数组,存储空间上是相邻的,所以查询起来会很方便,效率也会比LinkedList要高,所以查询比较频繁时使用ArrayList

应该选择C,链表不适合排序
ArrayList是固定长度,连续存储,不适合删除插入
HashSet是Key唯一的,你这里不适合

Hash中的数据都是无序的
linked仅修改指针的值,效率高,易插入删除
Arrays中内容过多,效率过低
因此linkedList更为合适