java中list和map的区别是什么?

结构特点

  1. List是存储单列数据的集合,Map是存储键值对这样的双列数据的集合;

  2. List中存储的数据是有顺序的,并且值允许重复;Map中存储的数据是无序的,它的键是不允许重复的,但是值是允许重复的。

实现类

1、List接口有三个实现类:

1.1 LinkedList

基于链表实现,链表内存是散列的,增删快,查找慢;

1.2 ArrayList

基于数组实现,非线程安全,效率高,增删慢,查找快;

1.3 Vector

基于数组实现,线程安全,效率低,增删慢,查找慢;

2、Map接口有四个实现类:

2.1 HashMap

基于 hash 表的 Map 接口实现,非线程安全,高效,支持 null 值和 null键;

2.2 HashTable

线程安全,低效,不支持 null 值和 null 键;

2.3 LinkedHashMap

是 HashMap 的一个子类,保存了记录的插入顺序;

2.4 SortMap 接口

TreeMap,能够把它保存的记录根据键排序,默认是键值的升序排序

list和map的区别

List是存储单列数据的集合,存储的数据是有序并且是可以重复的;Map存储双列数据的集合,通过键值对存储数据,存储 的数据是无序的,Key值不能重复,value值可以重复。

List 集合中对象按照索引位置排序,可以有重复对象,允许按照对象在集合中的索引位置检索对象,例如通过list.get(i)方法来获取集合中的元素;

Map 中的每一个元素包含一个键和一个值,成对出现,键对象不可以重复,值对象可以重复;

更多web开发知识,请查阅 HTML中文网 !!

以上就是java中list和map的区别是什么?的详细内容,更多请关注易知道|edz.cc其它相关文章!

推荐阅读