java集合中那些知识

来源:互联网 发布:小程序 js 加空格 编辑:程序博客网 时间:2024/06/05 05:23

前言

为什么要写这些问题呢?

  • 复习JAVA基础,温故而知新,多领悟几遍,会有不同的收获。
  • 有些基础知识好久不用,模糊不清
  • 集合几乎是面试时候必问的内容

我将从哪些方面去写呢?

  • List
  • Set
  • Map
  • Queue

Collection

这是Java中的集合类的关系图,下面我将对其进行分析
这里写图片描述

List(有序)

List接口的父亲是Collection,它的实现分别是ArrayList,LinkedList, Vector,在这三个中,我们用的多的还是前面两个,比如说我们做数据分页的时候,经常使用ArrayList,因为它查询方便啊,其实还是有一定的原因(数组结构很适合做查询嘛)。说说三者的区别吧:

  • 相同点都实现了List接口并且是有序的
  • LinkedList 的数据结构是链表,而ArrayList和Vector是基于数组的。
  • LinkList 实现List的同时实现了Deque,而Deque又继承了Queue,所以可以用着队里或双像队列
  • LinkList 是不同步的,但是可以实现同步 List list = Collections.synchronizedList(new LinkedList(…));
  • ArrayList和Vector的区别在于Vector是同步的,所以是线程安全的,但是必然导致效率问题

Set(不重复)

Map(键值对)

Queue(队列)

后记

参考文章

原创粉丝点击