Java中Array,List,Set,ArrayLisnkedl集合的区别

开发工具

  Array和ArrayList有何区别?

  Array可以容纳基本类型和对象,而ArrayList只能容纳引用类型。

  Array是指定大小的,而ArrayList大小会动态变化。

  Array没有ArrayList那么多功能,比如addAll、removeAll和iterator等。尽管ArrayList明显是更好的选择,但也有些时候Array比较好用。

  什么时候更适合用Array?

  (1)如果列表的大小已经指定,大部分情况下是存储和遍历它们。

  (2)对于遍历基本数据类型,尽管Collections使用自动装箱来减轻编码任务,在指定大小的基本类型的列表上工作也会变得很慢。

  (3)如果你要使用多维数组,使用[][]比List<List<>>更容易。

  arraylist和linkedlist区别?

  数据结构:

  ArrayList是实现了基于动态数组的数据结构

  LinkedList基于链表的数据结构

  数据的操作

  1对于随机访问get和set,ArrayList觉得优于LinkedList,因为LinkedList要移动指针。

  2.对于新增和删除操作add和remove,LinedList比较占优势,因为ArrayList要移动数据。

  List 和 Set 的区别?

  List , Set 都是继承自Collection 接口

  List 特点:

  一个有序容器,元素可以重复,可以插入多个null元素,元素都有索引。常用实现类: ArrayList、LinkedList 和 Vector。

  List for循环,也就是通过下标来遍历,也可以用迭代器。

  Set 特点:

  一个无序容器,不可以存储重复元素,只允许存入一个null元素,必须保证元素唯一性。

  Set 接口常用实现类是 HashSet、LinkedHashSet 以及 TreeSet。

  set只能用迭代,因为它是无序的,无法用下标来取得想要的值。

  List 和 Map 区别?

  1.在数据结构方面,List存储的是单列数据的集合,而Map存储的是key、value类型的数据集合。

  2.在数据存储方面,List存储的数据是有序且可以重复的,而Map中存储的数据是无序且key值不能重复(value值可以重复)

标签: 开发工具