今日内容介绍
1、ArrayList集合(回顾)
2、基本类型包装类
3、Math类
4、集合
5、Iterator迭代器
6、增强for循环
7、泛型
================================================================================
1、复习ArrayList
2、基本数据类型对象包装类概述
1.1 基本类型包装类的产生
在实际程序使用中,需要引用类型数据,如集合中 需要Integer,程序界面上用户输入的数据都是以字符串类型进行存储的。而程序开发中,我们需要把字符串数据,根据需求转换成指定的基本数据类型,如年龄需要转换成int类型,考试成绩需要转换成double类型等; 引用类型转基本数据类型
1.2八种基本类型对应的包装类
char Character
int Integer
byte Byte
short Short
long Long
float Float
double Double
boolean Boolean
2 自动装箱和自动拆箱
//JDK1.5新特性 到目前不算新特性了
//自动装箱,拆箱的 好处: 基本类型和引用类直接运算
//自动装箱:使用Integer.valueOf(整数值)返回一个封装了该整数值的Integer对象
//自动拆箱:使用Integer对象.intValue()返回Integer对象中封装的整数值
3 Math类的方法 平方根 a的b次方 floor ceil abs round random
4 集合
4.1集合概念,集合是java中提供的一种容器,可以用来存储多个数据。
在前面的学习中,我们知道数据多了,可以使用数组存放或者使用ArrayList集合进行存放数据那么,集合和数组既然都是容器,它们有啥区别呢?
集合中存储的元素必须是引用类型数据
4.2 集合继承关系图
集合继承关系
这说明我们在使用ArrayList类时,该类已经把所有抽象方法进行了重写。那么,实现Collection接口的所有子类都会进行方法重写。
Collecton接口常用的子接口有:List接口、Set接口
List接口常用的子类有:ArrayList类、LinkedList类
Set接口常用的子类有:HashSet类、LinkedHashSet类
5 集合Collection 方法
Collection接口中的方法
是集合中所有实现类必须拥有的方法
使用Collection接口的实现类,程序的演示
ArrayList implements List
List extends Collection
方法的执行,都是实现的重写
5.1 Collection接口方法 Object[] toArray() 集合中的元素,转成一个数组中的元素, 集合转成数组 返回是一个存储对象的数组, 数组存储的数据类型是Object
5.2总结 Java中三种长度表现形式
/*
*
* 数组.length 属性 返回值 int
* 字符串.length() 方法,返回值int
* 集合.size()方法, 返回值int
*/
5.3 Collection接口方法 boolean contains(Object o) 判断对象是否存在于集合中,对象存在返回true 方法参数是Object类型
5.4 Collection接口的方法 void clear() 清空集合中的所有元素 集合容器本身依然存在
5.5 接口的多态调用
5.6 集合Collection的remove方法
6 迭代器的概念
java中提供了很多个集合,它们在存储元素时,采用的存储方式不同,我们要取出这些集合中的元素,可通过一种通用的获取方式来完成。
Collection集合元素的通用获取方式:在取元素之前先要判断集合中有没有元素,如果有,就把这个元素取出来,继续在判断,如果还有就再取出出来。一直把集合中的所有元素全部取出。这种取出方式专业术语称为迭代。
7 迭代器的两个方法实现(原理)
/*
* 集合中的迭代器:
* 获取集合中元素方式
* 接口 Iterator : 两个抽象方法
* boolean hasNext() 判断集合中还有没有可以被取出的元素,如果有返回true
* next() 取出集合中的下一个元素
*
* Iterator接口,找实现类.
* Collection接口定义方法
* Iterator iterator()
* ArrayList 重写方法 iterator(),返回了Iterator接口的实现类的对象
* 使用ArrayList集合的对象
* Iterator it =array.iterator(),运行结果就是Iterator接口的实现类的对象
* it是接口的实现类对象,调用方法 hasNext 和 next 集合元素迭代
*/
8 迭代器使用的例子
9 集合迭代中的转型
10 增强for循环遍历数组
* 格式:
* for( 数据类型 变量名 : 数组或者集合 ){
* syso(变量);
11 增强for循环遍历集合
12 泛型
12.1:泛型的引入
在前面学习集合时,我们都知道集合中是可以存放任意对象的,
只要把对象存储集合后,那么这时他们都会被提升成Object类型。
12.2 泛型的定义和使用
泛型: 指明了集合中存储数据的类型 <数据类型>