ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

2022-07-22第二第五小组 张晟源(复习,泛化,迭代器,@Override)

2022-07-22 21:04:08  阅读:136  来源: 互联网

标签:07 迭代 Iterator 22 numbers 数组 out 泛化


JAVA(基础复习,泛化,迭代器,@Override)

心理总结:

  今天是自主复习的一天的,加入了基础群,和提升群,在提升群学习了链表结构,复习了以前薄弱的注解,泛化和迭代器

1.什么类不能被继承:修饰符final去修饰一个类时,不能被继承

2.继承特性:一个子类只有唯一一个父类,但是一个父类可以有多个子类。

3.类:是一组具有相同属性和行为的对象集合,抽象成这一类事物模板,用这类的事物的属性和行为加以定义

4.对象:就是这一类事物一个具体的实例

5.类与对象之间关系:

  • 类是一类事物描述,是抽象的
  • 对象是这一类的事物实例,是具体的
  • 类是对象模板,对象是类的实例

6.数据类型默认值

分类  数据类型    默认值
基本数据  整数(byte short int long)  0
浮点数 (float,double) 0.0
字符 (char) '\u000'
布尔类型 boolean false
引用类型  数组,字符串,类,接口  null
     

7.成员变量和局部变量的区别

  • 在类中位置不同

     成员变量:在类中,方法外

     局部变量:方法中或者方法参数列表

  • 作用范围不一样

    成员变量:类中

    局部变量:方法中

  •  初始化值不一样

     成员变量:有默认值

    局部变量:没有默认值,必须 先赋值再使用

  • 生命周期不一样:

    成员变量:随着对象的创建而存在,随着对象的销毁而销毁

    局部变量;随着方法的调用而存在,随着方法调用完结而销毁

 

注解@Override

@Override 注解是用来指定方法重写的,只能修饰方法并且只能用于方法重写,不能修饰其它的元素。它可以强制一个子类必须重写父类方法或者实现接口的方法。

 

泛化:

  泛化是JDK5之后进入的特性,泛型提供了编译时类型安全检测机制,该机制允许程序员在编译时检测到非法的类型。泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。

举例说明:

  假定我们有这样一个需求:写一个排序方法,能够对整型数组、字符串数组甚至其他任何类型的数组进行排序,该如何实现?答案是可以使用 Java 泛型

java中泛化标记:

  • E - Element (在集合中使用,因为集合中存放的是元素)
  • T - Type(Java 类)
  • K - Key(键)
  • V - Value(值)
  • N - Number(数值类型)
  •  - 表示不确定的 java 类型

案例:

public class FanHua
{
   // 泛型方法 printArray                         
   public static < E > void printArray( E[] inputArray )
   {
      // 输出数组元素            
         for ( E element : inputArray ){        
            System.out.printf( "%s ", element );
         }
         System.out.println();
    }
 
    public static void main( String args[] )
    {
        // 创建不同类型数组: Integer, Double 和 Character
        Integer[] intArray = { 1, 2, 3, 4, 5 };
        Double[] doubleArray = { 1.1, 2.2, 3.3, 4.4 };
        Character[] charArray = { 'H', 'E', 'L', 'L', 'O' };
 
        System.out.println( "整型数组元素为:" );
        printArray( intArray  ); // 传递一个整型数组
 
        System.out.println( "\n双精度型数组元素为:" );
        printArray( doubleArray ); // 传递一个双精度型数组
 
        System.out.println( "\n字符型数组元素为:" );
        printArray( charArray ); // 传递一个字符型数组
    } 
}

 

迭代器

迭代器是一种访问集合的方法,Iterator 是 Java 迭代器最简单的实现,ListIterator 是 Collection API 中的接口, 它扩展了 Iterator 接口。

  • 迭代器 it 的两个基本操作是 next 、hasNext 和 remove。
  • 调用 it.next() 会返回迭代器的下一个元素,并且更新迭代器的状态。
  • 调用 it.hasNext() 用于检测集合中是否还有元素。
  • 调用 it.remove() 将迭代器返回的元素删除。

Iterator 类位于 java.util 包中,使用前需要引入它

import java.util.Iterator; // 引入 Iterator 类

 

案例:

// 引入 ArrayList 和 Iterator 类
import java.util.ArrayList;
import java.util.Iterator;

public class RunoobTest {
    public static void main(String[] args) {
        ArrayList<Integer> numbers = new ArrayList<Integer>();
        numbers.add(12);
        numbers.add(8);
        numbers.add(2);
        numbers.add(23);
        Iterator<Integer> it = numbers.iterator();
        while(it.hasNext()) {
            Integer i = it.next();
            if(i < 10) {  
                it.remove();  // 删除小于 10 的元素
            }
        }
        System.out.println(numbers);
    }
}

执行代码,输出:

[12, 23]

 

标签:07,迭代,Iterator,22,numbers,数组,out,泛化
来源: https://www.cnblogs.com/shenmimao/p/16507952.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有