Array,List,Set和Map的异同

如题所述

    Array:一般表示是数组,但是在java中有Array这样一个类java.lang.reflect.Array。

    List:是一个接口。此接口的用户可以对列表中每个元素的插入位置进行精确地控制。用户可以根据元素的整数索引(在列表中的位置)访问元素,并搜索列表中的元素。与 set 不同,列表通常允许重复的元素。

    Set:一个不包含重复元素的集合。Set和List的父接口都是Collection。

    Map:将键映射到值的对象。一个映射不能包含重复的键;每个键最多只能映射到一个值。

    Map 接口提供三种collection 视图,允许以键集、值集或键-值映射关系集的形式查看某个映射的内容。映射顺序 定义为迭代器在映射的 collection 视图上返回其元素的顺序。某些映射实现可明确保证其顺序,如 TreeMap 类;另一些映射实现则不保证顺序,如 HashMap 类。 

     


温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-11-28
Arraylist就像一个有顺序的盒子,每放进去一个成员都是按顺序排列的,而Set则是像一个袋子,放进去的成员没有先后顺序,随机存放,而Map则每个成员分为两部分key和value。
所以访问list里面的元素的时候可以通过其索引来访问,而set只能通过元素本身来访问(这也是set的值不能重复的原因)。map中的值可以通过每项元素的key和value来访问。
相似回答