java容器

java容器分为3类:Set、List、Map

其中Set和List两类容器实现了Collection接口

Set:因为set底层由Map实现,所以set里的元素也不可重复,说明存入Set的元素在内部储存空间内没有排序之分,其实现类为HashSet

List:list里的元素可以重复,元素在list内部储存空间有序,实现类有ArrayList,LinkedList,和Vector

  ArrayList,LinkedList,和Vector的区别:

    ArrayList底层由数据结构由数组实现,优点为查询快,但是添加、删除元素慢

    LinkedList底层由数据结构由连表实现,优点为添加、删除元素快,但是查询慢

    Vector底层也是有数组实现,但与ArrayList的区别在于Vector是线程安全的,而ArrayList不是

Map是单独的接口,其特点是存储的元素一般是以 键值对 的方式进行存储,通过操作 键 来存储、获得、修改 ;map中键不能重复,值可以重复。

  Dictionary接口定义了HashTable类,意义与操作同HashMap一样,不同点在于HashTable为线程安全的,而Hashmap为线程不安全。

  HashMap底层hashcode实现,每一个元素都会有特定的算法(如,除数留余法)生成一个hashcode,hash地址冲突使用了链地址法

  而TreeMap底层由红黑树实现,所以TreeMap的 键 会变得有序,,若需要一个有序的结果,就可以使用TreeMap

迭代器Iterator

在Set、Map中由于无序,不能通过for循环遍历,则可以通过Iterator对象来实现遍历

posted @ 2020-09-08 12:07  TwilightDF  阅读(76)  评论(0)    收藏  举报