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

做设计值得收藏的图片网站汕头网站关键词推广

做设计值得收藏的图片网站,汕头网站关键词推广,wamp个人网站开发来源,成都好玩还是重庆好玩数据结构&#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://www.dtcms.com/wzjs/464004.html

相关文章:

  • 开发网站那个好seo哪家公司好
  • designer怎么做网站百度自动搜索关键词软件
  • 舟山做网站营销网站策划方案
  • 微网站开发视频网页设计大作业
  • 微信小程序做直播网站服务网站推广方案
  • 论坛创建长沙弧度seo
  • 湖北企业网站建设哪家好宁波网站推广代运营
  • 直播网站开发计划书营销企业
  • dw做网站乱码合肥做网站的公司有哪些
  • jsp网站入门提高工作效率的重要性
  • 平地起建筑人才网seo是什么的简称
  • 如何开发公司的网站网络营销运营策划
  • 做网站和做软件哪个有发展企业网站关键词优化
  • 建筑公司网站需求seo软件哪个好
  • 武汉网站制作 费用网络推广怎么找客户资源
  • 美国打俄罗斯最新消息厦门seo排名扣费
  • 如何在家里做网站小红书网络营销策划方案
  • 怎样做企业手机网站建设营销推广方案
  • 做平台还是自己做网站推广网页
  • 手机软件用什么开发百度关键词优化公司哪家好
  • 评论给网站带来的益处营销网络营销
  • 专业的响应式网站建设湖南广告优化
  • 织梦cms可以做淘宝客网站么网络营销推广的5种方法
  • 网站策划师招聘盘多多网盘资源库
  • 太原网站建设服务北京网站快速优化排名
  • 淘宝做短视频网站新浪博客seo
  • 深圳哪家做网站优化营商环境的意义
  • 银川百度做网站多少钱长春网站建设策划方案
  • 网站前端和后端灰色广告投放平台
  • 网站建设开题报告论述软文营销案例分析