选用哪一种容器取决于每一种容器的存储特点以及当前业务的需求:
List: 单一元素集合.
允许元素重复/记录元素的添加顺序.
Set:单一元素集合.
不允许元素重复/不记录元素的添加顺序.
既要不重复,又要保证先后顺序:LinkedHashSet.
Map: 双元素集合. 如果存储数据的时候,还得给数据其为一个的一个名称,此时考虑使用Map.
List和Set以及Map之间相互转换问题:
List list = new ArrayList<>();
把List转换为Set:
Set set = new HashSet<>(list);//此时会消除重复的元素.
把Set转换为List:
List list2 = new ArrayList<>(set );
Map不能直接转换为List或Set(但是Map中的方法可以间接转换).
**List和Map的综合运用**
Map在以后运用的非常广泛:比如可以表示JavaBean对象,可以做缓存(工具箱).
JavaBean对象: 多对,属性名=属性值 (PS:属性名表示字段名)
Map对象:每一个key-value就好比是一对属性名=属性值.
把Map对象转换为JavaBean对象,把JavaBean对象转换为Map对象.
Set,List,Map三种集合并不是都一直是单独使用的,偶尔也会综合使用.
List