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

如何优化网站代码梁平网站建设

如何优化网站代码,梁平网站建设,纸箱 东莞网站建设,广告门网站目录 泛型 泛型的定义#xff1a; 泛型的实例化#xff1a; 泛型的使用#xff1a; 顺序表ArrayList 顺序表ArrayList的两种实例化方法#xff1a; ArrayList常用的方法#xff1a; 1. add 方法 2. size ( ) 方法 3. get 方法 4. set 方法 5. 顺序表的三种遍历元素的方法…  目录 泛型 泛型的定义 泛型的实例化 泛型的使用 顺序表ArrayList 顺序表ArrayList的两种实例化方法 ArrayList常用的方法 1. add 方法 2. size ( ) 方法 3. get 方法 4. set 方法 5. 顺序表的三种遍历元素的方法。 for循环 for each 迭代器 6. add 在指定位置添加元素 7.删除元素 根据下标删除元素 根据元素内容删除元素 注意 8. contains 方法 9. indexOf 方法 10. subList 方法 11. clear方法 泛型 泛型也就是适用于许多其他的类型。 泛型可以提高代码的复用性。 在我们之前学习的方法的重载后发现其也不是那么的方便因为要把方法的接收的参数重新设置而且要是重载的方法多了代码会变的“丑”java所以引入了泛型来解决这一情况。所以为什么说泛型可以提高代码的复用性。 那么泛型怎么定义怎么实例化怎么使用 泛型的定义 这里我们就创建了一个泛型类。 注意 1.要在类名后加上 而其里面名字 T 是代表到时候实例化传过来的数据类型。  2.在new 一个数组对象时因为在new 这个对象的时候可能会涉及到调用该类的构造方法T 是什么类型还不知道构造方法实现不了。所以要先通过 Object 类型来开辟空间再通过强制类型转换成 T[ ] 数组类型。 泛型的实例化 这样我们就实例化了一个泛型。 注意 在实例化中 里面的书写。 1.如果是基本数据类型要使用到其对应的包装类。 2.如果是引用类型可以直接写比如 String int [ ] ,double [ ] 。 包装类是 Java 为每个基本数据类型提供的对应的引用类型。基本数据类型不是对象不具备对象的特性如不能调用方法等。而包装类使得基本数据类型可以像对象一样被操作基本数据类型也能够参与其中。 基本数据类型对应的包装类如图 泛型的使用 上面的 set 方法设置和 get 提取数据打印时没问题的但是下面的 arr.set(1,10) 这一行代码就有问题了这里需要的是 String 类型的数据而这里传入了一个整数类型触发了类型检查所以使用泛型能更好的让我们发现错误。 顺序表ArrayList 顺序表 与 数组 其实很相似但顺序表 实现了 List 接口 List是一个接口它定义了一系列操作顺序表的方法例如添加元素、删除元素、获取元素、查询元素位置等。 ArrayList是List接口的一个具体实现类。它实现了List接口中定义的所有方法。能更好的对数据进行处理总的来说 顺序表 比 数组 好用。 顺序表ArrayList的两种实例化方法 要注意使用顺序表ArrayList要导入对应的包。 第一种实例化我们都会但第二种实例化使用了 List 的引用来进行接收 ArrayList 对象的示例这也是“向上转型”。 我们前面知道 把子类实例转成父类引用 称为“向上转型”。 把父类实例转成子类引用称为“向下转型”。 使用上面的第二种实例化后续针对 List 进行各种方法的调用就会触发多态调用到子类ArrayList的方法。 另外再看下面的         这里的实例化的同时指定初始化容量是元素个数并且顺序表是可以动态扩容的后面也会讲到只要机器的内存足够用就能一直持续扩容保证元素都能被容纳进去。顺序表的一个核心功能。 ArrayList常用的方法 1. add 方法 ListString arr1 new ArrayList();arr1.add(aaa);arr1.add(bbb);arr1.add(ccc);System.out.println(arr1); 打印结果 这是一个尾插的方法先调用的add方法在前面存放后调用的add方法继续在后面逐个插入数据。 add方法就涉及到动态扩容了。因为开始创建顺序表的时候并没有指定容量。在使用add方法后就会动态扩容了。 2. size ( ) 方法 ListString arr1 new ArrayList();arr1.add(aaa);arr1.add(bbb);arr1.add(ccc);System.out.println(arr1.size()); 运行结果 size ( ) 方法是获取顺序表的元素个数。 3. get 方法 ListString arr1 new ArrayList();arr1.add(aaa);arr1.add(bbb);arr1.add(ccc);arr1.add(ddd);System.out.println(arr1.get(0));System.out.println(arr1.get(1));System.out.println(arr1.get(2));System.out.println(arr1.get(3)); 打印结果 get 方法 可以获取 顺序表 当中对应下标的元素。 注意 使用 get 方法 获取的下标不能越界。 4. set 方法 ListString arr1 new ArrayList();arr1.add(aaa);arr1.add(bbb);arr1.add(ccc);arr1.add(ddd);// System.out.println(arr1.get(0)); // System.out.println(arr1.get(1)); // System.out.println(arr1.get(2)); // System.out.println(arr1.get(3));arr1.set(1,kkk);System.out.println(arr1); 打印结果 set 方法是将顺序表对应下标的元素进行改变。 注意 set 方法 设置元素的下标不能越界。 5. 顺序表的三种遍历元素的方法。 for循环 ListString arr1 new ArrayList();arr1.add(aaa);arr1.add(bbb);arr1.add(ccc);arr1.add(ddd);for (int i 0; i arr1.size(); i) {System.out.println(arr1.get(i));}for each ListString arr1 new ArrayList();arr1.add(aaa);arr1.add(bbb);arr1.add(ccc);arr1.add(ddd);for(String s : arr1 ) {System.out.println(s);} 迭代器 ListString arr1 new ArrayList();arr1.add(aaa);arr1.add(bbb);arr1.add(ccc);arr1.add(ddd);IteratorString sss arr1.iterator();while(sss.hasNext()) {System.out.println(sss.next());} 这个类似于之前学习的 Scanner 输入的例子。 获取一个迭代器Iterator并将这个迭代器赋值给名为sss的变量。通过这个迭代器可以方便地遍历 arr1 集合中的元素。 6. add 在指定位置添加元素 ListString arr1 new ArrayList();arr1.add(aaa);arr1.add(bbb);arr1.add(ccc);arr1.add(ddd);arr1.add(2,man);System.out.println(arr1); 打印结果 这里插入元素是 插入后的 元素的位置下标。 在上述里例子中如果插入的下标是 4 那么就相当于尾插了。 7.删除元素 根据下标删除元素 ListString arr1 new ArrayList();arr1.add(aaa);arr1.add(bbb);arr1.add(ccc);arr1.add(ddd);arr1.remove(2);System.out.println(arr1); 打印结果 这里是删除了 2 下标的元素 “ccc” 。 根据元素内容删除元素 ListString arr1 new ArrayList();arr1.add(aaa);arr1.add(bbb);arr1.add(ccc);arr1.add(ddd);arr1.add(ccc);arr1.add(eee);arr1.remove(ccc);System.out.println(arr1); 打印结果 可以看到 remove 根据内容删除元素方法 用于从列表中删除指定元素的第一个匹配项如果要删除所有的 “ccc”可以通过循环检查每个元素然后在匹配时删除来实现删除所有指定元素。这里不做演示 注意 ListInteger arr2 new ArrayList();arr2.add(1);arr2.add(2);arr2.add(3);arr2.add(4);arr2.remove(2);System.out.println(arr2); 打印结果 这里根据的是下标来删除元素的如果想要删除元素2 应该怎么做 可以这样 ListInteger arr2 new ArrayList();arr2.add(1);arr2.add(2);arr2.add(3);arr2.add(4);Integer a 2;arr2.remove(a);System.out.println(arr2); 打印结果 这里借助了不同类型的 两种数据 触发了不同的重载方法实现了两种删除方式。 基本数据类型int的值这里的1、2、3、4会自动转换为Integer对象并添加到列表中。自动装箱机制使得代码编写更加方便程序员不需要显式地将int转换为Integer。 8. contains 方法 ListString arr1 new ArrayList();arr1.add(aaa);arr1.add(bbb);arr1.add(ccc);arr1.add(ddd);arr1.add(ccc);arr1.add(eee);System.out.println( arr1.contains(eee));运行结果 这个方法用来判断顺序表中当前元素存不存在。 存在返回 true否则返回 false 。 9. indexOf 方法 ListString arr1 new ArrayList();arr1.add(aaa);arr1.add(bbb);arr1.add(ccc);arr1.add(ddd);arr1.add(ccc);arr1.add(eee);//返回元素第一次出现的下标位置System.out.println(arr1.indexOf(ccc));// //返回元素最后一次出现的下标位置System.out.println(arr1.lastIndexOf(ccc)); 打印结果 如果元素不存在则返回 -1  10. subList 方法 ListString arr1 new ArrayList();arr1.add(aaa);arr1.add(bbb);arr1.add(ccc);arr1.add(ddd);arr1.add(eee);//获取子列表 arr2ListString arr2 arr1.subList(1,3);//打印子列表 arr2System.out.println(arr2);//修改子列表arr2arr2.set(0,111);//打印arr1System.out.println(arr1); 打印结果 可以看到。 对子列表操作不是创建“副本”列表而是直接取原始列表一部分进行构造的修改子列表就会影响到原始的列表。 11. clear方法 ListString arr1 new ArrayList();arr1.add(aaa);arr1.add(bbb);arr1.add(ccc);arr1.add(ddd);arr1.add(eee);//清空前System.out.println(arr1);arr1.clear();//清空后System.out.println(arr1); 打印如果 clear 可以清空顺序表当中的元素。
http://www.yayakq.cn/news/2435/

相关文章:

  • 如何做网站不容易被攻击企业招聘
  • 网站开发例子网络黄页推广软件下载
  • 自己做优惠劵网站赚钱吗wix做的网站能扒下来
  • 汕头建站服务张裕网站建设的目标
  • o2o网站建设好么深圳网站公司招聘
  • 做网站能用的字体如何搭建一个企业子账号网站
  • 做网站用框架么网站备案必须在公司注册地
  • 电子商务网站设计的基本要求管理系统门户网站开发路线
  • 做网站软件有哪些东莞市建设网
  • 苏州比较大的网站公司网站建设项目管理
  • 厦门网站设计制作购物网站服务中心
  • 有没有做卡商的网站wordpress 好慢哪
  • 网站开发实战网络课建一网站要多少钱
  • 网站域名到期后不续费会怎样小学生小发明小制作大全
  • 大理建设工程招聘信息网站做pc端网站平台
  • wordpress 网站同步外贸企业 访问国外网站
  • 域名查询网站入口网站建设培训 南宁
  • 合肥公司建设网站app游戏制作教程
  • 网站优化推广软件c 网站开发模板
  • dream8网站建设及设计南宁网站建设兼职
  • 网站在线生成app避免网站侵权
  • 济南建网站seo课程哪个好
  • 上海 松江 网站制作湖州 外贸网站建设
  • 舟山城乡建设培训中心网站seo5
  • 网站模板定制微信下滑小程序怎么关
  • 网站开发的项目流程佛山微网站
  • 服装门户系统网站免费建站网站一站式
  • 用php做美食网站有哪些茂名营销型网站建设
  • 买保险网站网站备案是需要去哪里做
  • 制作网站需要怎么做c 网站开发需要的技术