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

百度蜘蛛抓取网站最全的搜索引擎

百度蜘蛛抓取网站,最全的搜索引擎,宣传栏制作效果图,脑叶公司手机版下载目录 泛型 泛型的定义: 泛型的实例化: 泛型的使用: 顺序表ArrayList 顺序表ArrayList的两种实例化方法: ArrayList常用的方法: 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是一个接口,它定义了一系列操作顺序表的方法,例如添加元素、删除元素、获取元素、查询元素位置等。 ArrayListList接口的一个具体实现类。它实现了List接口中定义的所有方法能更好的对数据进行处理,总的来说 顺序表 比 数组 好用。

        

        顺序表ArrayList的两种实例化方法:

        

        

   要注意,使用顺序表ArrayList要导入对应的包。

   第一种实例化我们都会,但第二种实例化,使用了 List 的引用来进行接收 ArrayList 对象的示例,这也是“向上转型”。

         

 我们前面知道:

  子类实例转成父类引用 称为“向上转型”。

      把父类实例转成子类引用称为“向下转型”。

        

        使用上面的第二种实例化,后续针对 List 进行各种方法的调用,就会触发多态,调用到子类ArrayList的方法。

        

        另外,再看下面的:        

        这里的实例化的同时,指定初始化容量是元素个数,并且,顺序表是可以动态扩容的(后面也会讲到),只要机器的内存足够用,就能一直持续扩容,保证元素都能被容纳进去。(顺序表的一个核心功能)。

        

        ArrayList常用的方法:

       1. add 方法

        

List<String> arr1 = new ArrayList<>();arr1.add("aaa");arr1.add("bbb");arr1.add("ccc");System.out.println(arr1);

        打印结果:

        

         这是一个尾插的方法,先调用的add方法在前面存放,后调用的add方法继续在后面逐个插入数据。

        add方法就涉及到动态扩容了。因为开始创建顺序表的时候并没有指定容量。在使用add方法后就会动态扩容了。

        

        2. size ( ) 方法

        

 List<String> arr1 = new ArrayList<>();arr1.add("aaa");arr1.add("bbb");arr1.add("ccc");System.out.println(arr1.size());

        运行结果:

        

         size ( ) 方法是获取顺序表的元素个数。

        

        3. get 方法

        

List<String> 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 方法

        

 List<String> 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循环:

        

 List<String> 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 :

        

List<String> arr1 = new ArrayList<>();arr1.add("aaa");arr1.add("bbb");arr1.add("ccc");arr1.add("ddd");for(String s : arr1 ) {System.out.println(s);}
        迭代器:

        

 List<String> arr1 = new ArrayList<>();arr1.add("aaa");arr1.add("bbb");arr1.add("ccc");arr1.add("ddd");Iterator<String> sss = arr1.iterator();while(sss.hasNext()) {System.out.println(sss.next());}

        这个类似于之前学习的 Scanner 输入的例子。

       获取一个迭代器(Iterator),并将这个迭代器赋值给名为sss的变量。通过这个迭代器,可以方便地遍历 arr1 集合中的元素。

        

        6. add ()在指定位置添加元素

        

List<String> 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.删除元素:

        根据下标删除元素:

        

List<String> arr1 = new ArrayList<>();arr1.add("aaa");arr1.add("bbb");arr1.add("ccc");arr1.add("ddd");arr1.remove(2);System.out.println(arr1);

        打印结果:

        

         这里是删除了 2 下标的元素 “ccc” 。

        

        根据元素内容删除元素:

        

List<String> 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”,可以通过循环检查每个元素,然后在匹配时删除来实现删除所有指定元素。(这里不做演示)

        

        

        注意:
List<Integer> arr2 = new ArrayList<>();arr2.add(1);arr2.add(2);arr2.add(3);arr2.add(4);arr2.remove(2);System.out.println(arr2);

        打印结果:

         

         这里根据的是下标来删除元素的,如果想要删除元素2 应该怎么做?

        可以这样:

List<Integer> 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的值(这里的1234)会自动转换为Integer对象并添加到列表中。自动装箱机制使得代码编写更加方便,程序员不需要显式地将int转换为Integer

        

        8. contains 方法

        

 List<String> 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 方法

        

 List<String> 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 方法

 List<String> arr1 = new ArrayList<>();arr1.add("aaa");arr1.add("bbb");arr1.add("ccc");arr1.add("ddd");arr1.add("eee");//获取子列表 arr2List<String> arr2 = arr1.subList(1,3);//打印子列表 arr2System.out.println(arr2);//修改子列表arr2arr2.set(0,"111");//打印arr1System.out.println(arr1);

        打印结果:

        

         可以看到。

        对子列表操作,不是创建“副本”列表,而是直接取原始列表一部分进行构造的,修改子列表,就会影响到原始的列表。

        

        

        11. clear()方法

List<String> 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.hkea.cn/news/705892/

相关文章:

  • 汕头行业网站seo培训公司
  • 网站背景图片优化关键词歌曲免费听
  • 郑州做网站哪家专业我要发布信息
  • 西安做网站优化的公司石家庄seo按天扣费
  • 2022年西安封城通知自动app优化下载
  • 无锡做网站哪家公司好一个公司可以做几个百度推广
  • 专题网站建设工作关键词林俊杰无损下载
  • adobe 网站开发软件软文写作兼职
  • 英文网站建设 淮安免费培训网站
  • 隔离需要多少钱湖南网站seo找行者seo
  • wordpress简单企业站seo怎么刷排名
  • 网站建设与运维泉州全网推广
  • 网站建站哪个公司好一点营销咨询服务
  • 值得玩的网页游戏北京seo营销培训
  • 中国建设银行网站分期通百度推广登录平台网址
  • 公司内部网站源码新闻软文推广案例
  • vf建设银行网站谷歌seo排名
  • 如何申请商业服务器武汉seo工厂
  • 祥云平台英文网站微博指数查询入口
  • 公司网站建设准备资料今日重大财经新闻
  • 发布网站后备案免费网站建站页面
  • 浙江建设职业技术学院迎新网站做一个网站要多少钱
  • axure做网站好不好手机百度问一问
  • 开发微信小程序的流程广州seo优化电话
  • 小企业网站建设和管理全能搜
  • 无棣县建设局网站游戏优化大师下载安装
  • 小额贷款 网站模板品牌推广软文
  • 网站建设开发成本天津百度搜索网站排名
  • 做的好的营销型网站有哪些内容外贸网站外链平台
  • 东营网站建设预算价格百度网盘网页版入口官网