Java-Collection
莫特@
微风拂静叶 缘起何方
展开
-
TreeSet实现原理
前言 首先明白TreeSet属于集的范围,所以它只能存放引用类型,不能用于基本数据类型,实现了set接口,所以它本身不能有重复的元素,当存入自定义的引用类型的时候就必须考虑到元素不可重复的这个特性,换句话说就必须实现Comparable接口(Comparable与Compared接口的区别),在TreeSet内部会自动调用存储的引用类型对象的实现的Comparable接口中的com转载 2016-11-16 13:23:44 · 7448 阅读 · 0 评论 -
顺序存储和链式存储
一:顺序表的特点是逻辑上相邻的数据元素,物理存储位置也相邻,并且,顺序表的存储空间需要预先分配。它的优点是: (1)方法简单,各种高级语言中都有数组,容易实现。 (2)不用为表示节点间的逻辑关系而增加额外的存储开销。 (3)顺序表具有按元素序号随机访问的特点。缺点: (1)在顺序表中做插入、删除操作时,平均移动表中的一半元素,因此对n较大的顺序表效率低。 (2转载 2016-11-18 17:58:09 · 2963 阅读 · 0 评论 -
Java回调通俗理解
在网上找了很多的有关Java方法回调的实例,很多时候都是看的云里雾里,现在稍微对这个有一点自己的理解,所以写下了供大家参考,可能有误,谨慎参考。说明:第一次主动调用的对象被称为“调用者”,调用者有一个调用方法A,被回调的方法AA。 被调用的那个对象被称为“受调者”,受调者被调用者调用的那个方法为B。过程:调用者方法A调用了受调者的方法B,B开始执行方法内的代码,然后这个方法在执行的原创 2016-12-24 20:34:17 · 465 阅读 · 0 评论 -
fail-fast理解
fail-fast也称快速失败,在所有集合的iterator中都有这个机制,他是在iterator中实现的fail-fast的原理其实很简单,就是在类中定义一个初始的整型值,然后在迭代开始的时候获得这个初始值,并在迭代的过程中每次都比较这个获得的初始值与原来定义的初始值是否相等,如果不相等就跑出异常,不相等的来源是对原集合数据的删除或者添加,又或者是结构上的修改,这里对数据的增删改修改原创 2016-12-28 19:35:22 · 546 阅读 · 0 评论 -
关联-依赖-聚合
面向对象设计中的关联,依赖,聚合关联一般涉及到数量,有一对一,一对多,多对多;关联一般是有方向的,如果加上方向,那么关联就还有多对一。比如顾客预订单之间就是一种一对多的关联关系,从面向对象的角度考虑顾客和订单都是对象,那么在设计对象的时候就要考虑关联关系和关联的方向,假如要设计成顾客到订单的一对多关联,那么此时在顾客对象类中就应该有订单这个属性,并且这个属性是一个集合;假如要设计成订单原创 2017-01-05 22:44:11 · 313 阅读 · 0 评论 -
同步-异步--阻塞-非阻塞
同步与异步牵扯到这两个概念的前提是两个线程会有某些微妙的联系并需要进行通信,不然牵扯不到同步与异步问题。同步场景:我要去上厕所,去了卫生间以后发现蹲位都被占了,并且此时还有两个人在排队等候,而我又必须上厕所,此时我就必须排队等待,这就是所谓的同步。特点是必须等待,等的时间不能干其他任何事情(排队的时候还是可以玩哈手机,抽根烟的,但是蹲位有没有空出来需要自己去判断)。异步场景:去了厕所还原创 2017-01-08 21:25:48 · 386 阅读 · 0 评论 -
TreeSet实现原理
前言 首先明白TreeSet属于集的范围,所以它只能存放引用类型,不能用于基本数据类型,实现了set接口,所以它本身不能有重复的元素,当存入自定义的引用类型的时候就必须考虑到元素不可重复的这个特性,换句话说就必须实现Comparable接口(Comparable与Compared接口的区别),在TreeSet内部会自动调用存储的引用类型对象的实现的Comparable接口中的com转载 2017-01-10 18:04:44 · 419 阅读 · 0 评论