一、概念
ArrayMap是一个实现Map接口的数据结构。内部使用2个数组进行存储,一个数组记录键的hash值,一个数组记录键值对,其中键和值可以是任何数据类型。键使用二分法进行排序。
int[] mHashes;
Object[] mArray;
mArray中存储键值对,并且键与值是紧挨着存储的。
2024年10月26日
一、概念
ArrayMap是一个实现Map接口的数据结构。内部使用2个数组进行存储,一个数组记录键的hash值,一个数组记录键值对,其中键和值可以是任何数据类型。键使用二分法进行排序。
int[] mHashes;
Object[] mArray;
mArray中存储键值对,并且键与值是紧挨着存储的。
2024年10月26日
很多写程序的人都听说过一个公式,程序 = 算法 + 数据结构。而在 Java 中,自身已经提供了丰富的集合,来帮助我们处理和管理数据,但是多数情况下,我们比较常用的就那么几个,可这并不妨碍我们学习了解其他「冷门」的集合类。
但是集合类那么多,怎么学?一个一个方法看其内部实现?我想你就算耐着性子看完了,没几天也都忘干净了,因为细节太多了,同时使用的频率低,遗忘是必然的。
2024年10月26日
一等公民,英文为"First-Class Citizen". 一般而言,某个类型支持语言定义的所有操作,包括赋值、修改、参数传递和参数返回。编程语言的基本类型一般都是一等公民,比如C语言的int类型。但依然要注意:
2024年10月26日
JetBrains的IntelliJ IDEA IDE发布了最新的2017.2版本,具有许多新功能,性能改进和重要的错误修复。
IntelliJ IDEA 2017.2特点:
更智能的代码完成和控制流程分析
更新了检查和快速修复、重构
Java 9模块图表
调试器:过滤数组,集合和映射
2024年10月26日
Kotlin 可以对一个类的属性和方法进行扩展,且不需要继承或使用 Decorator 模式。
扩展是一种静态行为,对被扩展的类代码本身不会造成任何影响。
扩展函数
扩展函数可以在已有类中添加新的方法,不会对原类做修改,扩展函数定义形式:
fun receiverType.functionName(params){ body}
2024年10月26日
前几日,Kotlin被官宣成为新的Android一级开发语言,程序员就炸了锅。相比于其它行业,程序员估计是最有效率的一拨人了,这才时隔几日,新的框架SwiftKotlin就应运而生。SwiftKotlin到底是何方神圣?简单来说,它可以帮助程序员将Swift代码转换为Kotlin。SwiftKotlin框架的命令行工具和Mac应用程序由 Angel Garcia Olloqui开发,并且已经获得MIT许可。
根据项目描述,SwiftKotlin“将尽可能的将Swift代码转换为Kotlin代码。这其中包括字符串转换以及其他一些更加复杂的转换,如将guard语句转换为if语句,属性,内存管理等等。
2024年10月26日
泛型,即 "参数化类型",将类型参数化,可以用在类,接口,方法上。
与 Java 一样,Kotlin 也提供泛型,为类型安全提供保证,消除类型强转的烦恼。
声明一个泛型类:
class Box<T>(t: T) { var value = t}
创建类的实例时我们需要指定类型参数:
2024年10月26日
内容来源:2017年3月26日,ThoughtWorks高级咨询师张帅、王智勇在“Mobile Open Day—小步构建移动开发知识网络”进行《Getting started with Kotlin on Android》演讲分享。IT大咖说作为独家视频合作方,经主办方和讲者审阅授权发布。
阅读字数: 1128 用时: 7分钟
2024年10月26日
Kotlin是一种静态编程语言,由JetBrains开发。它被设计为与Java兼容,并且可以在Java平台上运行。Kotlin支持现代编程语言的许多特性,如函数式编程、对象导向编程和元编程。这使得Kotlin能够方便地与Java代码混编,并且可以在没有JVM(Java虚拟机)的设备上运行。
2024年10月26日
1,zurb / foundation-sites
Foundation 是一个易用、强大而且灵活的框架,用于构建基于任何设备上的 Web 应用。提供多种 Web 上的 UI 组件,如表单、按钮、Tabs 等等
国内好像没怎么有人用啊
2,awesome-mac
收集各种类别非常好用的 Mac 应用程序、软件以及工具。使用mac的你,真的需要看一看这个。
3,kotlin
官网的简单介绍:Kotlin是针对现代对平台应用的静态类型编程语言,100%可以与java?和Android?互操作。Kotlin可以编译成Java字节码在JVM上运行,在安卓设备上运行,也可以编译成Javascript,在浏览器运行,这是要一统江湖的节奏吗?