Java基础面试题--list、set、map的区别

一  : list、set、map的区别

list:1.可以允许重复的对象   

       2.可以插入多个null元素

       3.是一个有序的容器,保持了每个元素的插入顺序,输出的顺序就是插入的顺序

       4.常用的实现类有  ArrayList、LinkedList和Vector。ArrayList最流行,它提供了使用索引的随意访问,而LinkedList则对于经常需要从List中添加或删除元素的场合更为适合

Set: 1.不允许重复对象

       2.无序容器,你无法保证每个元素的存储顺序,TreeSet通过Comparator 或者 Comparable 维护了一个排序顺序。

       3.只允许插入一个null元素

      4.Set接口最流行的几个实现类是 HashSet、LinkedHashSet和TreeSet。最流行的是基于HashMap实现的HashSet。TreeSet还实现了SortedSet接口,因此TreeSet是一个根据其compare()和compareTo()的定义进行排序的有序容器。

Map:1.Map不是collection的子接口或者实现类。Map是一个接口

        2.Map的每个Entry都持有两个对象,也就是一个键一个值,Map可能会持有相同的值对象但键对象必须是唯一的。

        3.TreeMap 也通过 Comparator 或者Comparable 维护了一个排序顺序。

        4.Map 里你可以拥有随意的NULL值但最多只能有一个NULL键

        5.Map 接口最流行的几个实现类是HashMap、LinkedHashMap、Hashtable和TreeMap。(HashMap、TreeMap最常用)




阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页