前言
做为一名程序开发人员,善用数据结构与合适的算法是写出一份具有高效性能的代码的基础,Java中最最基础的数据结构主要有三种,分别是数组、链表还有图,其中“图”这种数据用的比较少,像我们开发常用的集合同时都是由数组和链表演化而成。
集合框架
jdk为我们提供了集合类,像我们写代码最常用的ArrayList,HashMap都是集合,这里需要注意的是,像List,set,Queue都是实现的Collection接口,而Map则是一个独立的接口。
首先我们来讲讲List、Set、Queue、Map的区别及其具体实现类。
list:
List是一个接口,他最突出的特点就有序的,我们可以通过索引,类似于数组的下标,来访问List中的元素,而且List中允许存在重复的元素。
set:
set和list其实是十分相似的,他们都是实现了collection接口的,最显著的区别就是set中不允许存放重复的元素,这里我们要注意,当“null”作为一个元素存储的时候,set也只允许存放一个“null”元素。
queue:
queue是一个队列,他通常会与栈作为对象比较,栈的特点是先进后出,队列的特点则是先进先出。
map:
map则与以上数据结构有着显著的不同,首先他是以键值对的方式来存放数据的,也就是key-value的形式,其次他没有实现collection接口。
常用的结合实现类
首先我们拿list来说&