第一问:

  List是接口,ArrayList实现了List接口。

第二问:

  ArrayList实现了List接口,HashSet实现了Set接口,List和Set都是继承Collection接口。

  ArrayList底层是动态数组,HashSet底层是哈希表。

  ArrayList存放的是对象的引用,HashSet存放之前检索对象的HashCode,所以当存入对象时要重写hashCode(),如果只是比较对象,只需要重写equals()方法,

  ArrayList是有序可重复,HashSet是无序不可重复。

05-11 10:56