当前位置: 首页 > news >正文

贵州做网站深圳手机端网站建设专业

贵州做网站,深圳手机端网站建设专业,百度极简网址,网站上怎么做全景看图数据结构基础 什么是数据结构 在计算机科学中#xff0c;数据结构#xff08;Data Structure#xff09;是计算机中存储、组织数据的方式。数据结构是各种编程语言的基础。 一些使用场景 不同的数据结构适用于不同的应用场景。比如HashMap与ConcurrentHashMap#xff0…数据结构基础 什么是数据结构 在计算机科学中数据结构Data Structure是计算机中存储、组织数据的方式。数据结构是各种编程语言的基础。 一些使用场景 不同的数据结构适用于不同的应用场景。比如HashMap与ConcurrentHashMapArrayList与LinkedList。使用正确的数据结构可以提高算法的效率时间和空间。比如使用Map常数时间复杂度将双重循环优化为一重循环。 数据之间的逻辑结构 线性结构一对一 树形结构一对多 图、网状结构多对多 集合五顺序、不重复 数据在计算机中的存储方式存储结构 顺序存储结构把逻辑上相邻的元素存储在物理位置相邻的存储单元中链式存储结构对逻辑上相邻的元素不要求其物理位置相邻元素间的逻辑关系通过指针来表示索引存储结构在存储节点的同时还需要建立附加的索引表散列存储结构以数据元素的关键字的值为自变量通过散列函数计算出该元素的存储位置 集合框架 现代编程语言及其API中都包含了多种默认的数据结构Java集合框架、Kotlin集合框架就是其中的代表。 因为数据结构的知识体系比较广除了各种线性、非线性结构还有广义表、排序、查找而排序中又有快速排序、堆排序等。对于大部分Android开发来说更多的是直接使用编程语言的集合框架。所以接下来通过介绍Java和Kotlin集合框架来展开。 Java的集合框架 这里先通过介绍Java的集合框架来更好的引入Kotlin。 题外针对Java的集合框架推荐梳理类图配合阅读源码及其注释的的方式来加深理解同理对于Java的IO框架、Android的View框架、Android的Context框架也适用。 Collection类图 Map类图 纵向对比 Kotlin的集合框架 Collection类图 Map类图 Kotlin的集合创建 除了直接实例化Java的集合类之外还可以使用标准库stdlib中的以下函数来创建 val listOf listOf(1, 2, 3) //ArrayList val arrayListOf arrayListOf(1, 2, 3) // ArrayList val mutableListOf mutableListOf(1, 2, 3) // ArrayListval setOf setOf(1, 2, 3) // LinkedHashSet val hashSetOf hashSetOf(1, 2, 3) // HashSet val mutableSetOf mutableSetOf(1, 2, 3) // LinkedHashSet val mapOf mapOf(a to 1, b to 2) // LinkedHashMap val hashMapOf hashMapOf(a to 1, b to 2) // HashMap val mutableMapOf mutableMapOf(a to 1, b to 2) // LinkedHashMapKotlin集合的操作 Kotlin 标准库提供了用于对集合执行操作的多种函数。这包括简单的操作例如获取或添加元素以及更复杂的操作包括搜索、排序、过滤、转换等。 转换 map映射返回将给定变换函数应用于原始集合中每个元素的结果的列表。 val numbers setOf(1, 2, 3) println(numbers.map { it * 3 }) val mapIndexed numbers.mapIndexed { idx, value - $value $idx } val s mapIndexed[0] println(s::class.java) // class java.lang.Stringzip压合调用应用于每对元素的提供的变换函数返回从此集合和具有相同索引的另一个集合的元素构建的列表。 val colors listOf(red, brown, grey) val animals listOf(fox, bear, wolf, dog) println(colors.zip(animals) { color, animal - $color $animal}) // [red fox, brown bear, grey wolf]flatten压平返回给定集合中所有集合中所有元素的单个列表。 val numberSets listOf(setOf(1, 2, 3), setOf(4, 5, 6), setOf(1, 2)) println(numberSets.flatten()) // [1, 2, 3, 4, 5, 6, 1, 2]过滤 filter过滤返回仅包含满足条件的元素的列表。 val numberStr listOf(one, two, three, four) val longerThan3 numberStr.filter { it.length 3 } println(longerThan3) // [three, four]partition划分将集合拆分为一对列表其中第一个列表包含满足条件的元素而第二个列表包含余下的元素。 val numberStr listOf(one, two, three, four) val pair numberStr.partition { it.length 3 } println(pair.first) // [three, four] println(pair.second) // [one, two]分组 groupBy对集合的元素进行分组并返回一个map。 val numberStr listOf(one, two, three, four) val map numberStr.groupBy { it.first() } println(map) // {o[one], t[two, three], f[four]}排序 sorted自然排序排序算法是稳定的 val numberStr listOf(one, two, three, four) println(numberStr.sorted()) // [four, one, three, two]sortedWith自定义排序 val numberStr listOf(one, two, three, four) val lengthComparator Comparator { str1: String, str2: String - str1.length - str2.length } println(numberStr.sortedWith(lengthComparator)) // [one, two, four, three]sortedBy自定义排序内部调用的是sortedWith val numberStr listOf(one, two, three, four) println(numberStr.sortedBy { it.length }) // [one, two, four, three]
http://www.pierceye.com/news/631274/

相关文章:

  • 东营专业网站建设济南天桥区网站建设公司
  • 鹤壁做网站多少钱网站开发 简单留言板
  • 网站建设 阿里东莞seo建站优化公司
  • logo设计竞标网站wordpress攻击跳转
  • 专门做瑜伽的网站wordpress docker镜像
  • 中国航天建设集团有限公司网站wordpress建站 防攻击
  • 买邮箱的网站网站与系统对接图文方案
  • 网页和网站区别wordpress展示企业主题免费
  • 网站制作过程个人网站吗
  • gta5网站建设中温州建设局老网站
  • 凤岗仿做网站专业网站设计制作优化排名
  • 企业网站seo优化德国设计网站大全
  • 重庆网站制作公司电话whois域名查询
  • 六安网站自然排名优化价格自己做网站前端开发
  • 网站发布与推广怎么写广东省城乡建设厅网站
  • 用ipv6地址做网站访问上海网址推广
  • 手把手教你做网站 3北京网站建设是什么
  • 建设商务网站目的及功能定位惠州专业网站建设公司哪里有
  • 网站建设技术 教材迈若网站建设
  • 服务器正常网站打不开旅游app排行榜前十名
  • 网站建设服务套餐免费net网站空间
  • 导购网站怎么推广公司建多个网站
  • 做相册集什么网站电脑谷歌浏览器打开是2345网址导航
  • 做网站顾客提现金额后台私做网站名电子章
  • ps做网站素材文件打包开源软件开发
  • 焦作网站建设价格asp网站怎么运行
  • 宜昌市做网站的公司页面设计图片大全
  • 购买网站空间多少钱石家庄权威发布
  • 网站开发数据库动态管理网页制作商品页面模板
  • 电商网站设计模板平面设计师兼职网站