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

做门户网站用什么模板wordpress和公众号对接

做门户网站用什么模板,wordpress和公众号对接,艺术生搭建wordpress个人博客,乐之网站制作前言 上次面试时,手写ArrayList竟然翻车,忘了里面的扩容与缩容的条件,再次实现一次,加深印象 源码讲了什么 实现了List列表和RandomAccess随机访问接口List具有增删改查功能,RandomAccess支持下标访问内部是一个扩容…

前言

上次面试时,手写ArrayList竟然翻车,忘了里面的扩容与缩容的条件,再次实现一次,加深印象

源码讲了什么

  1. 实现了List列表和RandomAccess随机访问接口
  2. List具有增删改查功能,RandomAccess支持下标访问
  3. 内部是一个扩容数组,默认大小是10,size=size+size/2

如何实现

  1. 实现List的add,remove,set,get
  2. 实现RandomAccess的下标访问
  3. 实现集合的基本size,isEmpty,toString
  4. 实现扩容grow,每一增到1.5倍,size=size+size/2
  5. 缩容方法需要手动调用(内部不会再remove自动调用),使数组容量等于当前元素个数,array=Array(size),size元素个数,array.size时容量
fun main() {val list = MyArrayList()list.add(1)list.add(2)list.add(3)list.add(0, 2)list.set(list.size(), 7)println(list)
}class MyArrayList {// 方便扩展,默认是10个,每次扩容size=size+size>>2private var array = Array(10) { 0 }// 当前大小private var size = 0// 添加fun add(value: Int) {if (size >= array.size) {grow(size + 1)}array[size++] = value}// 中间插入,按下标fun add(index: Int, value: Int): Boolean {if (size !in 0..size) {return false}if (size >= array.size) {grow(size + 1)}for (i in size downTo index + 1) {array[i] = array[i - 1]}array[index] = valuesize++return true}// 删除,按值,按下标删除已经废弃了fun remove(value: Int): Boolean {var index = -1for (i in 0 until size) {if (array[i] == value) {index = ibreak}}if (index == -1) {return false}for (i in index + 1 until size) {array[i - 1] = array[i]}size--return true}// 改fun set(index: Int, value: Int): Boolean {if (index !in 0 until size) {return false}array[index] = valuereturn true}// 查fun get(index: Int) = if (index !in 0 until size) -1 else array[index]// toStringoverride fun toString() = StringBuilder().apply {append("[")for (i in 0 until size) {append(if (i == 0) array[i] else ", ${array[i]}")}append("]")}.toString()// 扩容,添加大量元素时会使用minCapacityprivate fun grow(minCapacity: Int) {var newCapacity = Math.max(minCapacity, array.size + array.size / 2)val newArray = Array<Int>(newCapacity) { 0 }for (i in 0 until size) {newArray[i] = array[i]}array = newArray}// 缩容方法不用,不写// 用来判断的emptyfun isEmpty() = size == 0fun isNotEmpty() = size > 0fun size() = size
}
http://www.yayakq.cn/news/750938/

相关文章:

  • 公司网站如何制作个人网站备案填写要求
  • 菏泽做网站多少钱建网站无锡
  • 什么人需要网站建设济南莱芜又出新情况了
  • 网站开发过时了海淘网站开发
  • 静态网站有什么用全球互联网排名前十名
  • 学校的网站管理系统汉中住房和城乡建设部网站
  • 北京企业网站设计公司个人网站的备案
  • 中山网站建设是什么意思网站开发技术支持
  • 购物型网站海外网app下载
  • 福建得兴建设工程网站工作室注册
  • 只用jsp做网站青岛品牌策划青岛博采网络好
  • 中山市建设局网站窗口电话号码中国城投建设集团网站
  • 建设工程竣工备案网站一些做系统的网站
  • 全国做网站找哪家好城建道桥建设集团网站
  • 开网站做网站如何开发电子商务网站
  • 有没有做牛羊角的网站营销策划方案ppt模板
  • 贵州最好的网站建设推广公司哪家好房子装修设计软件
  • 企业做产品网站费用大概是多少个人网站搭建详细步骤
  • 网站怎么做才吸引人开发公司出售没有规划内房屋
  • 怎样写网站文案可视化开发
  • 免费商城网站系统蛋糕店网站设计模板
  • 邢台网站制作公司河北邯郸移动网站建设
  • 网站改域名如何做百度优化苏州建设工程交易中心网站
  • 高校 网站建设实施方案wordpress 数据库管理
  • 免费logo设计图案创意做网站不带优化的吗
  • 企业集团网站建设方案国外设计网站怎么登陆
  • 网站建设多少钱鞋试用型网站
  • 辽阳企业网站建设服务枣庄建网站的公司
  • 长沙建网站的公司一对一定制方案微信企业推广
  • 临淄信息港最新招聘seo网站推广全程实例