2011年12月2日

HashSet,TreeSet和LinkedHashSet的区别

摘要: Set接口Set不允许包含相同的元素,如果试图把两个相同元素加入同一个集合中,add方法返回false。Set判断两个对象相同不是使用==运算符,而是根据equals方法。也就是说,只要两个对象用equals方法比较返回true,Set就不 会接受这两个对象。HashSetHashSet有以下特点 不能保证元素的排列顺序,顺序有可能发生变化 不是同步的 集合元素可以是null,但只能放入一个null当向HashSet结合中存入一个元素时,HashSet会调用该对象的hashCode()方法来得到该对象的hashCode值,然后根据 hashCode值来决定该对象在HashSet中存储位置 阅读全文

posted @ 2011-12-02 10:29 Terry@ 阅读(88668) 评论(3) 推荐(13) 编辑

Mvc TempData 本质实现

摘要: 对TempData 实现原理有疑惑的,可以参考以下TempData核心代码首先TempData 的数据被存放在一个Dictionary _data中,,也就是说,可以把TempData理解为是一个Dictionary.再看他的索引器 在set中 增加了_data 和 initialKeys. 在 get中 Remove了 initialKey在保存的时候移除掉除 initialKey 和 retailedKey 以外的所有数据.也就是说, 移除掉data中使用过的数据.并且调用了一个Provider进行保存.以便在不同Action中传递数据...跟进去发现是一个接口,,,再去找这个接口的实现找 阅读全文

posted @ 2011-12-02 10:17 Terry@ 阅读(874) 评论(1) 推荐(0) 编辑

导航