Set,Map学习总结

  1. Set和Map都是元素无序且不能重复的集合。去重的实现机制是通过在每次添加元素(值)的时候,都会把前面的元素和新增的元素进行比较,如果是true,表示重复,丢弃;false:添加到集合当中。
  2. set,map集合取数方式:
    (1)迭代器:Iterator接口;
    (2)foreach循环:(加强版for循环,遍历(从第一个位置到最后一个位置))
    语法:
    for(每一次遍历接收的对象声明: 需要被遍历的集合或数组){
    代码块;
    }
  3. HashSet : 实现了Set接口,由哈希表支持。添加元素时调用Set的add方法, 首先调用对象本身的hashCode方法,获取这个对象的哈希值,如果值不相等则直接存储对象,反之调用对象的equals方法,比较前面对象的值和后面的是否相等,如果相等的丢弃该对象,反之使用链式结构存储hashCode相等而equals结果值不等的对象。此类存储非同步,允许使用 null 。
  4. TreeSet :是根据二叉树的结构进行自然顺序排序(大小排序)的集合;
    排序规则定义有:
    (1)自定义规则 :自己实现Comparator接口独立写一个排序规则;
    (2)本身需要排序的对象来实现 Comparable接口,完成排序规则;
  5. HashMap : 基于哈希表的 Map 接口的实现。此类存储非同步,存储的是键(key)值(value)对,其中key不可重复,value可重复,并允许使用 null 值和 null 键,但最多只允许1个null键。添加元素时调用Map的put方法。
  6. TreeMap: 基于红黑树(Red-Black tree)的 NavigableMap 实现。该映射根据其键的自然顺序进行排序,或者根据创建映射时提供的 Comparator 进行排序,具体取决于使用的构造方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值