面试题汇总——Java集合(Collection和Map)

1简单介绍一下Java集合类

位置:Java的所有集合类都在java.util包下,从JDK5.0开始为了处理多线程环境下的并发安全问题,又在java.util.concurrent包下提供了一些多线程支持的集合类。
内容:Java的集合类主要有两个接口派生而出:Collection和Map。

1.1Collection

Collection有三个子接口:List、Set、Queue

  • List接口有序可重复
  • Set接口无序不可重复
  • Queue接口实现队列数据结构

1.1.1List接口有序可重复

  • ArrayList:基于数组实现的,查询快,增删慢。
  • LinkedList:基于双向链表结构实现的,采用二分查找,与ArrayList正好相反,它的增删快,查询慢。(实现List和Deque[ 双向队列]接口)
  • Vector:基于数组实现的,查询快,增删慢,但它是线程安全的类(通过对方法加锁synchronized),一般不推荐使用。慢。
  • Stack :Vector的派生类,是“栈”数据结构的应用,具有后进显出的特点,也是线程安全的,一般不推荐使用,因为效率比较低。
  • 面试题汇总——Java集合(Collection和Map)_第1张图片

你可能感兴趣的:(面试题总结大全——更新中,java,开发语言)