四时宝库

程序员的知识宝库

Python,Java,C++一网打尽,这个GitHub项目用多种语言实现经典算法

机器之心报道

参与:Racoon、Jamin

经典数据结构和算法你了解几个?想去大厂面试?想成为算法工程师?收下这份全面的复习材料。

不想做低级码农,不想成为前端抠图达人或是后台「增删改查」小王子?那你可能需要好好复习下算法与数据结构。想成为算法工程师,基础知识是绕不开的大山。机器之心这次要推荐的项目是数据结构与算法的开源项目集,覆盖多种主流语言,实现各类经典数据结构及算法

Kotlin 接口(kotlin接口和抽象类区别)

Kotlin 接口与 Java 8 类似,使用 interface 关键字定义接口,允许方法有默认实现:

interfaceMyInterface{funbar()// 未实现funfoo(){//已实现// 可选的方法体println("foo")}}

实现接口

一个类或者对象可以实现一个或多个接口。

classChild : MyInterface{overridefunbar(){// 方法体}}

实例

蜂窝架构:一种云端高可用性架构(蜂窝网络架构)

作者 | Chris Price

译者 | 明知山

protobuf多平台使用(protocol t)

男人站直别趴下,胜者困难不低头。

Protocol Buffers 是一种轻便高效的结构化数据存储格式,可用于结构化数据串行化,很适合做数据存储或 RPC 数据交换格式。它可用于通讯协议、数据存储等领域的语言无关、平台无关、可扩展的序列化结构数据格式。

Effective Java in Kotlin,你的九阳神功要更新了

码个蛋(codeegg) 第 840 次推文

作者:超凶的土拨鼠

链接:https://www.jianshu.com/p/0d170f86a15f

ArrayMap是何方神圣(arraymap原理)

一、概念

ArrayMap是一个实现Map接口的数据结构。内部使用2个数组进行存储,一个数组记录键的hash值,一个数组记录键值对,其中键和值可以是任何数据类型。键使用二分法进行排序。

int[] mHashes;

Object[] mArray;

mArray中存储键值对,并且键与值是紧挨着存储的。

面试还在问 SparseArray?记住 3 句话,让你临时把佛脚抱好

一. 序

很多写程序的人都听说过一个公式,程序 = 算法 + 数据结构。而在 Java 中,自身已经提供了丰富的集合,来帮助我们处理和管理数据,但是多数情况下,我们比较常用的就那么几个,可这并不妨碍我们学习了解其他「冷门」的集合类。

但是集合类那么多,怎么学?一个一个方法看其内部实现?我想你就算耐着性子看完了,没几天也都忘干净了,因为细节太多了,同时使用的频率低,遗忘是必然的。

语言的"一等公民"(语言的等级一共多少级)

一等公民,英文为"First-Class Citizen". 一般而言,某个类型支持语言定义的所有操作,包括赋值、修改、参数传递和参数返回。编程语言的基本类型一般都是一等公民,比如C语言的int类型。但依然要注意:

如何在Linux Ubuntu中安装IntelliJ IDEA最新版

JetBrains的IntelliJ IDEA IDE发布了最新的2017.2版本,具有许多新功能,性能改进和重要的错误修复。

IntelliJ IDEA 2017.2特点:

  • 更智能的代码完成和控制流程分析

  • 更新了检查和快速修复、重构

  • Java 9模块图表

  • 调试器:过滤数组,集合和映射

Kotlin 扩展(kotlin扩展函数的原理)

Kotlin 可以对一个类的属性和方法进行扩展,且不需要继承或使用 Decorator 模式。

扩展是一种静态行为,对被扩展的类代码本身不会造成任何影响。


扩展函数

扩展函数可以在已有类中添加新的方法,不会对原类做修改,扩展函数定义形式:

fun receiverType.functionName(params){
 body}
<< 1 2 3 4 5 > >>
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言
    友情链接