Java集合(容器)学习

1、集合和数组有什么区别,为什么使用集合而不用数组?

相同点:集合和数组都可以存储多个对象,对外作为一个整体存在。

数组的缺点:

  • 长度必须在初始化时指定,且固定不变;
  • 数组采用连续存储空间,删除和添加效率低下;
  • 数组无法直接保存映射关系;
  • 数组缺乏封装,操作繁琐。

2、常用集合接口与实现类

接口名称 说明 特点 常用实现类
List 存储一组不唯一,有序(索引顺序)的对象 有序,不唯一(元素可重复) ArrayList、LinkedList
Set 存储一组唯一,无序的对象 无序,唯一(元素不可重复) HashSet、LinkedHashSet、TreeSet
Map 存储一组键值对,提供key到value的映射;key唯一且无序,value不唯一且无序 key-value映射 HashMap、LinkedHashMap、TreeMap

3、说明

  • Collection是集合(容器的根接口),List和Set是它的两个子接口。
  • Set和Map有什么联系:采用了相同的数据结构,只用于Map的key存储数据,就是Set(查看源码可知)。
  • Collections类是专门用来操作集合的工具类(而Collection是接口),提供了一系列静态方法实现对各种集合的操作,例如搜索、复制、排序、线程安全化等有关方法。

猜你喜欢

转载自www.cnblogs.com/zxfei/p/10815317.html
今日推荐