Java数据结构
Java中的数据结构主要分为Collection和map两个接口(接口只提供抽象方法,并不提供实现),程序中主要使用的是数据结构是这两个接口的主要实现类。
Java中的数据结构关系如下图所示
![10417188-b572669824992f2c.png](https://i-blog.csdnimg.cn/blog_migrate/469061bd6fbe9c9527cfca32e837de47.png)
image
List:有序的可重复的Collection
使用此接口能够精确的控制每一个元素插入的位置,可以通过索引来访问List中的元素。
- ArrayList采用数组实现,数组的访问速度要比链表快,所以ArrayList更适合查询操作,
- LinkedList采用链表实现,随机插入和删除的效率要高于数组,
- Vector是一种古老的实现类,采用数组的实现,内部方法使用了Sychronized关键字,是线程安全的。
List相关知识总结如下:
![10417188-0fac87df85dbe423.jpg](https://i-blog.csdnimg.cn/blog_migrate/4a5fb3844ef5b1b51c7940116858b9c6.jpeg)
image
Map:‘键值’对映射的抽象接口,不包括重复的键。
- HashMap:是基于‘拉链法’实现的散列表,底层采用数组+链表实现,一般用于单线程
- HashTable:基于‘拉链法’实现的散列表,一般用于多线程
- TreeMap:有序散列表,底层通过红黑树实现。
Map相关知识总结如下:
![10417188-2a58b0e37b5c28db.jpg](https://i-blog.csdnimg.cn/blog_migrate/28f45fa185e19828e4eb8eb69ec25e89.jpeg)
image
Java数据结构的详细信息可以参考我写的其他博客。