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

网站开发成本核算及账务处理数商云官网

网站开发成本核算及账务处理,数商云官网,网站导航页面制作,安徽seo报价数据结构&#xff1a;ArrayList与顺序表 1&#xff1a;基本概念&#xff1a;线性表的理解可以先从数组上手&#xff0c;因为后续方法就是用数组来实现的。 2&#xff1a;先创建一个MyArrayList的类&#xff0c;<E>是Java的泛型机制&#xff0c;可以指定具体的类型。 定义…

数据结构:ArrayList与顺序表

1:基本概念:线性表的理解可以先从数组上手,因为后续方法就是用数组来实现的。

2:先创建一个MyArrayList的类,<E>是Java的泛型机制,可以指定具体的类型。

定义一个整形数组array,定义一个已占用的数组长度usedSize,再定义一个静态常量default_size,赋值为10。

java.util.ArrayList:是java包中的一个类,用于实现动态数组的功能。

再调用不带参数的构造方法,初始化一个整形数组,数组长度为default_size。

最后调用带参数的构造方法,将新创建的ArrayList对象赋值给list,并指定容量大小为intitalCapacity。

3: add方法:默认在数组最后添加元素。

调用add方法时要先调用isFull方法,判断数组是否满了。如果返回true代表数组满了,就要调用copyOf方法将数组长度扩容为2倍。

然后将usedSize位置赋值为data,usedSize加1

  

4:display方法:遍历数组

调用for循环,一个一个打印数组的元素,加空格,最后换行。

在测试类main方法调试:

打印结果:

5: add方法:在数组指定位置添加元素

先判断pos是否小于0或者大于usedSize,如果不是就打印“位置不合法”,结束程序。

再调用isFull方法判断数组是否满了,如果满了就调用copyOf方法扩容数组长度。

最后调用for循环,从usedSize位置开始,到pos位置结束,把前一个元素赋值给后一个,这样就把pos位置空出来了。循环结束后把pos位置赋值为data,最后usedSize++。

6:indexOf方法:查找某个元素对应的位置or下标

通过for循环遍历数组,如果某个下标对应的元素等于data,就返回下标i,如果没有就返回-1

7:contains方法:判断是否包含某个元素

通过for循环遍历数组,如果有i下标对应的值等于data,就返回true,没有就返回fasle

8:get方法:获取pos位置的元素

先判断pos是否小于0或大于等于usedSize,如果是则打印错误,返回-1

如果不是就返回pos位置的元素。

 

9: set方法:将pos位置的元素设为data

先判断pos是否小于0或大于等于usedSize,如果是就打印错误。

不是就将pos位置的元素设为data。

10:remove方法:删除第一次出现的关键词toRemove

先调用indexOf把toRemove的下标赋给index,如果index等于-1则打印错误。

接着调用for循环,从index位置开始,将后一个位置的元素赋值给前一个,直到数组最后一个,最后将数组长度减一。

11:size方法:求数组已有元素的个数

直接返回usedSize。

 12:clear方法:清空数组

注意:基本数据类型不能置为null,直接将数组长度设为0

 13:ArrayList的构造

(1)无参构造(myArrayList1):会自动分配大小为10的内存,不够按照1.5倍扩容。

(2)指定容量(myArrayList2):指定了大小为20的内存。

(3)利用其他collection构建arraylist(myArraylist3):将myArrayList2中的元素也存储到了myArrayList3中。

输出结果:

14: 三种遍历方式

(1):使用下标+for循环遍历

(2):foreach遍历

(3):Iterator遍历

输出结果:

15:杨辉三角

本质上是一个二维数组,每一行除了首末元素之外,其他的元素都是上一行的同列和前列位置的元素之和。

每行首末元素均为1

举例:curRow为第四行,prevRow为第三行,第四行第三个元素“3”等于第三行第二个元素“2”加上第三行第三个元素“1”。

给出一个generate方法,创建杨辉三角,number是赋值的具体行数。 

先创建一个LIst<List<Integer>>类型的二维数组 row,再创建一个一维数组rew,先给rew添加第一个元素,只有一个1,再把rew添加到row中。

从第二行开始for循环,创建一个当前行curRow,因为每个第一个元素和最后一个元素永远都是1,先用add方法加1。

再创建一个相对于curRow的上一行prevRow,通过row调用get方法。

再从第二列开始for循环,每个元素都是上一行的同列和前一列元素之和,然后加到curRow中,直到每一行倒数第二个元素。

计算完每一行中倒数第二个元素,跳出第二个循环,调用add方法添加每一行的最后一个1,再将curRow添加到二维数组row中。

再开始下一行一维数组的计算。

全部计算完以后,调用printPascalTriangle方法,实现换行操作,最终返回row。

通过嵌套两个foreach循环,实现每打印一个一维数组就换行。

在main方法中调用generate方法,并将参数值赋值为5

 

输出结果:

16: 巧用contains方法破解面试题

把“welcome to cvte”中包含“cvte”四个字母的字母全部去除并输出最终结果。

定义了一个func方法,给了两个参数str1和str2,然后创建了一个接收char类型的list。

通过for循环和charAt方法,将str1的每个字母转成字符赋值给ch,接着ch+一个“”变成字符串,然后通过contains方法,如果ch不包含在str2中,就加到list中,直到结束循环,返回list。

main方法中,创建一个list并调用func方法,赋值给ret,再通过foreach循环,输出最终结果。

输出结果:

17:洗牌游戏 

创建一个Card类,分别定义花色color和牌面值rank,给出一个toString方法、带参数的构造方法用于初始化color和rank,和不带参数的构造方法。

(1)再创建一个BuyCard类,用于生成牌和洗牌。

(2)先定义一个string类数组suit,定义四种花色。

(3)再给出一个返回值类型为ArrayList<Card>的Buy方法,创建一个ArrayList类型的list,然后套用两个for循环,给每种花色生成13张牌,添加到list中,最后返回list。

 

定义了一个shuffle方法,用于将牌打乱顺序。

for循环从list最后一个元素开始,到第二个元素为止,不断生成0到i的随机数,然后调用swap方法。

再定义了一个private方法,在shuffle中调用,用于交换两张牌。先将i位置的牌赋值给tmp,再将j位置的牌放到i位置,最后将tmp也就是原本i位置的牌放到i位置,实现了打乱牌的顺序。 

 

最后在main方法中,调用Buy方法并通过deck打印原本有顺序的牌。

再调用shuffle方法,打印打乱顺序后的牌 。

 

打印结果:

 

18:关于ArrayList的思考:本质上是用数组的思维解决实际问题。


文章转载自:

http://RbeaahWN.Lmjkn.cn
http://FI2x1WhA.Lmjkn.cn
http://b2HocRiv.Lmjkn.cn
http://mu9lV9a5.Lmjkn.cn
http://1li3i3Ry.Lmjkn.cn
http://288gcKfb.Lmjkn.cn
http://8nYjMSft.Lmjkn.cn
http://ogefwbLr.Lmjkn.cn
http://0r6c3P2j.Lmjkn.cn
http://WIUKrv2h.Lmjkn.cn
http://EoX6iWsY.Lmjkn.cn
http://Sf9A85pF.Lmjkn.cn
http://o2Md42YA.Lmjkn.cn
http://IqwVIkMI.Lmjkn.cn
http://Mr2frF3a.Lmjkn.cn
http://PdDFBWMD.Lmjkn.cn
http://SqkBcozC.Lmjkn.cn
http://5o42dhz0.Lmjkn.cn
http://VsusSUAk.Lmjkn.cn
http://UasGVvYu.Lmjkn.cn
http://rYxRYAwk.Lmjkn.cn
http://vSSJhjfk.Lmjkn.cn
http://hv7tPvIT.Lmjkn.cn
http://BD1g4T9H.Lmjkn.cn
http://hx6eN9MA.Lmjkn.cn
http://fMhufOhN.Lmjkn.cn
http://WKes9AcB.Lmjkn.cn
http://Ij36qAwS.Lmjkn.cn
http://xHD7AWZe.Lmjkn.cn
http://zc4OzOsV.Lmjkn.cn
http://www.dtcms.com/wzjs/648999.html

相关文章:

  • 做网站在哪个地方买空间dedecms农业种植网站模板
  • 网站建设需要什么硬件和软件有哪些在线网站建设平台
  • 网站怎么做筛选wordpress网速慢
  • 广州手机网站建设报价表怎么设计一个app
  • 中江网站建设网站备案背景图
  • 中国建设银行网站查工资软件开发文档用什么写
  • 微网站建设价格高端网站的制作
  • 静态网页怎么做网站新建网址
  • wordpress如何更换首页展示页面WordPress全面优化
  • 网站建设目的功能短网址网站
  • 龙武工会网站怎么做网站备案 四川
  • 建行深圳网站湖北专升本网站建设
  • 网站机房建设方案美丽说的网站建设
  • 深圳建网站价格济南城市建设集团
  • 新网站怎么做流畅网站开发得多少钱
  • 深圳网站维护服务的公司优秀网站架构
  • 优秀集团网站案例成都网站制作计划
  • 西安建筑网站全球搜是什么公司
  • 可以做效果图的网站表白网址一键生成
  • 网站目标规划网站建设放入什么会计科目
  • 做招商加盟做得比较好的网站新乐市建设银行网站
  • 甘肃网站建设方案优化如何做短信验证码网站
  • 高级的网站建设wordpress小工具没有权限
  • 建设宁夏分行互联网站门户网站的重要性
  • htm网站中建五局华东建设公司网站
  • 网站搭建什么意思百度优化插件
  • 河北商城网站建设价格低手机软件卸载了怎么恢复
  • 英文网站模版做外贸去哪个网站找客户
  • wordpress主题开发网站集团公司网页设计
  • 腾度网站建设医保局微网站开发