2019.07.15(day13)
泛型:参数化类型
Set集合:
集合中不能有重复的元素出现,所有的Set集合中的元素只能唯一,没有顺序,能存储null,线程不安全。
Set接口:
HashSet集合越小,遍历的速度和效率就越高
TreeSet集合要求集合中的数据排序
要求存储的元素对象对应的类必须实现Coparable接口
Map集合:
若干键值(key-value)对数据组成的集合
-key(键):集合中所有的key也是一个集合,是一个Set集合,所以key不能重复
-value(值):集合中所有的value也是一个集合,实际Collection集合
集合中的每一个元素都是由key和value组成的,而value可以是Collection集合或Map集合,即集合中集合
Map接口的两个子实现:
HashMap类:可以存储null,线程不安全,异步
Hashtable类:不可以存储null,线程安全,同步
Map集合的应用场景广泛:
原因:在确定key值得前提下,可以快速的获取key对应的对象,很多框架中的数据都是用map集合存储的。
如:Spring框架,springmvc框架,strutcts框架,mybatis框架,tomcat框架,redis框架...
Map集合数据的存和取:
-存:map集合只能通过put方式添加集合元素(键值对)
存储完后,会把所有的key构成一个set集合,此set集合只能读取不能添加。
所有的value组成的集合也只能读不能添加
-取:1.一次取出一个键值对
2.先取出所有的key,循环遍历key,根据key来取出value
3.直接取出所有的value,进行遍历,找到合适的value即可
集合套集合:
解决了更复杂的数据结构问题
ArrayList<List> all=new ArrayList<List>();
ArrayList<Collection> all=new ArrayList<Collection>();
ArrayList<Map<String,List<Collection>>> all=new ArrayList<Map<String,List<Collection>>>();
Map<String,Collection> all=new HashMap<Stirng,Collecition>();
Map<String,Map<String,Collection>> all=new HashMap<String,Map<String,Collection>>();
集合迭代器:
是迭代器设计模式的一个很好的实现
迭代 等价理解为循环 等价于遍历
集合中的迭代,只要用途是遍历集合中的元素
把List集合,Set集合,Map集合都转换成集合的迭代
集合迭代的本质,就是把所有集合遍历的方式转换为迭代器这一种遍历方式
实现步骤:
List集合转换为迭代器集合,用迭代器api方法来迭代数据
Set集合转换为迭代器集合,用迭代器api方法来迭代数据
Map集合转换为迭代器集合,用迭代器api方法来迭代数据