您的位置 首页 java

一文搞懂 Android 开发者为何要做 Java & Android 集合框架?

java 框架概述

ArrayList是一个大小可以调整的动态数组; 它可以允许所有元素(包括null),它提供了增加、删除、修改、查找方法

ArrayList的数据结构是数组; 它会占据一块连续的内存空间,容量是数组的长度(length),增加、删除、查找的时间复杂度是O(n),根据索引访问元素的时间复杂度是O(1)

ArrayList是线程不安全的; 未实现同步,如果多个线程同时访问ArrayList实例,并且至少有一个线程在结构上修改列表( 结构 修改指的是添加或者删除一个或者多个元素,或者显示调整后备数组的大小的任何操作;仅设置元素的值不是结构修改),则必须在外部进行同步

这通常是通过对自然封装列表的对象进行同步来实现的,如果不存在这样的对象,则应该使用Collections. synchronized List方法对列表进行包装,最好是在创建时完成此操作,以防止意外地非同步地访问列表

Android框架概述

Android避免不了的就是框架的搭建; 我们熟知的MVC、MVP、 MVVM ,都是我们熟知的框架结构,开发中使用哪种结构,结构如何搭建,这种结构使用过程中存在的优缺点,这些都是我们需要考虑的

一个android的 ioc orm 框架,内置了四大模块:FinalAcitivity,Final bitmap ,FinalDb,FinalHttp,通过finalActivity,我们可以通过注解的 方式进行绑定ui和事件。通过finalBitmap,我们可以方便的加载bitmap图片,而无需考虑oom等问题。通过finalDB模块,我们一行 代码就可以对android的sqlite数据库进行增删改查。通过FinalHttp模块,我们可以以ajax形式请求http数据

集合框架对编程的优势

● 它减少了程序设计的辛劳

● 集合框架通过提供有用的数据结构和算法使你能集中注意力于你的程序的重要部分上,而不是为了让程序能正常运转而将注意力于低层设计上

● 通过这些在无关API之间的简易的互用性,使你免除了为改编对象或转换代码以便联合这些API而去写大量的代码

● 它提高了程序速度和质量

● 集合框架通过提供对有用的数据结构和算法的高性能和高质量的实现使你的程序速度和质量得到提高

● 因为每个接口的实现是可互换的,所以你的程序可以很容易的通过改变一个实现而进行调整,另外,你将可以从写你自己的数据结构的苦差事中解脱出来,从而有更多时间关注于程序其它部分的质量和性能

集合框架鼓励软件的复用

● 对于遵照标准集合框架接口的新的数据结构天生即是可复用的。同样对于操作一个实现了这些接口的对象的算法也是如此

● 有了这些优点,并通过合理的使用,它就会成为 程序员 的一种强大的工具

● 不过,从历史上来看,集合大多其结构相当复杂,也就给它们一个造成极不合理的 学习曲线 的坏名声。但是,希望Java2的集合框架能缩短你的学习曲线,从而快速掌握它

● 在许多高级语言中的数组其实也是集合的一种简单实现,比如C,C++, Pascal 和Java数组保存着相同类型的多个值,它的长度在数组被创建时就固定下来,建立之后就无法改变。如果你需要一种大小能动态改变的存储结构,数组就不适合了,这时集合框架就有了用武之地了

Java 类集合

● 在java中,其 java.util 中的工具接口和类都是一类集合,你应用其可以通过一个类型的接口定义一个类型的对象集合,这样,你可以很方便的对一类有着相似特点的对象操作,而且由于其是接口的对象,因此很容易拓展

● 总的来说,集合框架可以帮助你很好的应用其数据结构,增加代码的可操作性和可复用性。你可以好好看看数据结构,然后对照着看看其集合框架中的接口,或者你也可以学学设计模式,就能对这种好处更能理解

集合框架有何难点

● 在我看来, Kotlin 对 Java 开发者最大的改变不是减少浪费在写代码上的时间,而是一系列思维方式的转变:

● 与其让开发者手动控制循环,不如把循环封装在类库内部,类 C 语言 的三段式 for 循环和 while 循环简直是 bug 和复杂代码的元凶

● 面向对象,但不能被类和对象捆住手脚,把函数解放出来

● 每一行代码都要用在刀刃上,尽量减少模板代码和多余的声明

● 编程语言要设计好默认配置,引导开发者多使用默认配置,比如类默认不可继承、访问控制符默认 public、集合默认只读、类型默认不为 null 等等; 不变对象优于可变对象,多用 val 少用 var、多用只读集合少用可变集合、多用非空类型少用可空类型

● 类要回归本心,只承担抽象对象的功能,Kotlin 鼓励多使用扩展、少在类里塞一堆 API 和实现,尽量采用“类基本框架 + 外部扩展功能函数”的模式

● 这些东西都是在学习 Kotlin、写 Kotlin 过程潜移默化地传达给开发者的,能够引导传统守旧的 Java 开发者拥抱现代编程语言

结语

文章基本上就到这里,文章只是对android开发过程中常用的一些集合框架做一些个人理解的东西,如有地方不对或者有不同理解的可以提出来

最后我想说: 对于程序员来说,要学习的知识内容、技术有太多太多,要想不被环境淘汰就只有不断提升自己,从来都是我们去适应环境,而不是环境来适应我们

当程序员容易,当一个优秀的程序员是需要不断学习的; 初级程序员 到高级程序员,从初级架构师到资深架构师,或者走向管理,从 技术经理 到技术总监,每个阶段都需要掌握不同的能力。早早确定自己的职业方向,才能在工作和能力提升中甩开同龄人

需要获取更多Android相关资讯的同学

可以 私信 发送 “进阶” 或 “笔记” 即可 免费获取

现在发送还可以获得 更多《Android 学习笔记+源码解析+面试视频》

技术是无止境的,你需要对自己提交的每一行代码、使用的每一个工具负责,不断挖掘其底层原理,才能使自己的技术升华到更高的层面

Android 架构师之路还很漫长,与君共勉

PS:有问题欢迎指正,可以在评论区留下你的建议和感受;

欢迎大家点赞评论,觉得内容可以的话,可以转发分享一下

文章来源:智云一二三科技

文章标题:一文搞懂 Android 开发者为何要做 Java & Android 集合框架?

文章地址:https://www.zhihuclub.com/181980.shtml

关于作者: 智云科技

热门文章

网站地图