除了从父类集成代码外,Scala中的类还允许从一个或者多个traits中导入代码。
对于Java程序员来说理解traits的最好方法就是把他们当作可以包含代码的接口(interface)。在Scala中,当一个类继承一个trait时,它就实现了这个trait的接口,同时还从这个trait中继承了所有的代码。
让我们通过一个典型的实例来看看这种trait机制是如何发挥作用的:排序对象。能够比较若...
分类:
其他好文 时间:
2015-05-26 18:53:12
阅读次数:
117
除了从父类集成代码外,Scala中的类还允许从一个或者多个traits中导入代码。对于Java程序员来说理解traits的最好方法就是把他们当作可以包含代码的接口(interface)。在Scala中,当一个类继承一个trait时,它就实现了这个trait的接口,同时还从这个trait中继承了所有的...
分类:
其他好文 时间:
2015-05-26 18:17:29
阅读次数:
140
LinkedListLinkedList基于双向循环链表实现。也可以被当做堆栈,队列或双端队列进行操作。非线程安全。下面直接贴ArrayList的Java实现(只贴了部分代码),来源JDK1.8.0_25/src.zip。 /** * ****双向链表对应的数据结构********* ...
分类:
编程语言 时间:
2015-05-24 21:40:43
阅读次数:
138
字典1.快速枚举 forin 运行时不能更改内部数据for ( in ) {} //对象 //数组for(Contact *contact in friends) {[contact show];}判定是否为空 NSString *ns ==nil NSInteger ...
分类:
编程语言 时间:
2015-05-22 18:44:01
阅读次数:
222
这几天学习了HashMap的底层实现,发现关于HashMap实现的博客还是很多的,但几乎都是JDK1.6版本的,而我的JDK版本是1.8.0_25,对比之下,发现Hashmap的实现变动较大。这篇博客断断续续写了一天,理解不当之处,欢迎指正。
在JDK1.6中,HashMap采用位桶+链表实现,即使用链表处理冲突,同一hash值的链表都存储在一个链表里。但是当位于一个桶中的元素较多,即hash值...
分类:
编程语言 时间:
2015-05-21 22:45:40
阅读次数:
256
ArrayList
基于数组实现,本质上是对象引用的一个变长数组,能够动态的增加或减小其大小。
不是线程安全的,只能用在单线程环境下。多线程环境下可以考虑用Collection.synchronizedList(List l)函数返回一个线程安全的ArrayList类,也可以使用concurrent并发包下的
CopyOnWriteArrayList类
下面直接贴ArrayList的Jav...
分类:
编程语言 时间:
2015-05-20 22:23:49
阅读次数:
209
LinkedList
LinkedList基于双向循环链表实现。也可以被当做堆栈,队列或双端队列进行操作。非线程安全。下面直接贴ArrayList的Java实现(只贴了部分代码),来源JDK1.8.0_25/src.zip。
/**
* ****双向链表对应的数据结构*********
* 包含:节点值item
* 前驱 pre
* ...
分类:
编程语言 时间:
2015-05-20 22:22:46
阅读次数:
189
类集:在C++中叫做容器(container),而在Java中叫做类集Collection(类集):最基本的集合接口,一个Collection代表一组Object集合。Collection(类集)特形: 1、 元素(Elements)存放:可以存放相同的Elements;不可以存放相同的Elemen...
分类:
编程语言 时间:
2015-05-19 20:40:39
阅读次数:
281
微软研究发现,技术正缩短人类集中精神的时间
你认为生活中技术的丰富正让人越来越难以长时间集中精力?微软可能刚好有一些证据支持你的理论。它最近公开一项研究(使用调研和EEG扫描进行的)暗示着自从世纪之初以来,平均注意力时间已经急剧下降。尽管回到2000年人们可以关注一项任务12s,但是在2013年这个数字下降到8s--几乎比金鱼还少一秒。据报道称,这种(集中精力的时间)大幅...
分类:
其他好文 时间:
2015-05-17 18:44:20
阅读次数:
115
1、集合类(增、删、查、改、遍历)a)集合常用操作添加、遍历、移除来自于IList接口b)使用时须先引用命名空间System.Collectionsc)ArrayList可变长度数组,使用类似于数组属性Capacity(容量) Count(实际元素个数)方法Add()AddRange()Remove...