(day13)Set集合+Map集合+集合套集合+集合迭代器

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方法来迭代数据

    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值