这三个都是接口,Set和List继承Collection接口,Map接口是单独的。
Set的主要特性是不包含重复元素 。List是有序的Collection,能够方便的在其中查找,插入,删除元素。Map(映射)主要的特征是它是它包含键和值。不能有重复的键。
典型实现类
Set典型实现类是HashSet和TreeSet,前者不保证顺序,后者保证顺序。
List的典型实现类是ArrayList、LinkedList、Vector。ArrayList与LinkedList的区别在于前者是顺序结构,后者是链式结构。顺序结构不适合动态改变它存储的数据,如增加,删除等,但它获取第n个单元的速度要比链式结构快。Vector和ArrayList基本一样,只是ArrayList是不同步的,Vector是同步的。在多线程访问时就可以体现。
Map典型实现是HashMap、TreeMap、Hashtable。HashMap没有顺序,TreeMap有顺序,HashMap是不同步的,Hashtable是同步的。
Set的主要特性是不包含重复元素 。List是有序的Collection,能够方便的在其中查找,插入,删除元素。Map(映射)主要的特征是它是它包含键和值。不能有重复的键。
典型实现类
Set典型实现类是HashSet和TreeSet,前者不保证顺序,后者保证顺序。
List的典型实现类是ArrayList、LinkedList、Vector。ArrayList与LinkedList的区别在于前者是顺序结构,后者是链式结构。顺序结构不适合动态改变它存储的数据,如增加,删除等,但它获取第n个单元的速度要比链式结构快。Vector和ArrayList基本一样,只是ArrayList是不同步的,Vector是同步的。在多线程访问时就可以体现。
Map典型实现是HashMap、TreeMap、Hashtable。HashMap没有顺序,TreeMap有顺序,HashMap是不同步的,Hashtable是同步的。