Collection集合,Iterator迭代器,泛型
1.两种容器
A. 数组(存放任意类型,长度固定)
B. 集合(存放对象类型,长度可变)
2.体系结构
单列集合 Collection
List ( ArrayList、LinkedList、Vector)
Set ( HashSet、LinkedHashSet、TreeSet)
3、获取迭代器对象和使用方法
Iterator< E> iter = c. iterator ( ) ;
iter. hasNext ( ) ;
E e = iter. next ( ) ;
4.集合的常见遍历方法
Collection< String> coll = new ArrayList < > ( ) ;
coll. add ( "faker" ) ;
coll. add ( "uzi" ) ;
coll. add ( "jacklove" ) ;
coll. add ( "theshy" ) ;
System. out. println ( "======[方法1]转数组======" ) ;
String[ ] str = new String [ coll. size ( ) ] ;
String[ ] strArr = coll. toArray ( str) ;
for ( int i = 0 ; i < strArr. length; i++ ) {
System. out. println ( strArr[ i] + "," + strArr[ i] . toUpperCase ( ) ) ;
}
System. out. println ( "======[方法2]迭代器======" ) ;
Iterator< String> iter = coll. iterator ( ) ;
while ( iter. hasNext ( ) ) {
String s1 = iter. next ( ) ;
System. out. println ( s1+ "," + s1. toUpperCase ( ) ) ;
}
System. out. println ( "======[方法3]增强for======" ) ;
for ( String s : coll) {
System. out. println ( s) ;
}
5.泛型应用场景
A. 泛型类
a. 定义格式:
修饰符 class 类名称< 泛型> { }
b. 使用格式: ( 创建对象)
类名称< 具体类型> 对象名称 = new 类名称< 具体类型> ( ) ;
B. 泛型方法
a. 定义格式:
修饰符 < 泛型> 返回值 方法名称 ( 参数) { 方法体; return 返回值; }
b. 使用格式: ( 调用方法)
具体返回值类型 返回值 = 方法名称( 具体参数) ;
C. 泛型接口
a. 定义格式:
修饰符 interface 接口名称< 泛型> { }
b. 使用格式: ( 实现类或者创建实现类对象时候)
第一种:修饰符 class 类名称 implements 接口名称< 具体类型> { }
第二种:类名称< 具体类型> 对象名称 = new 类名称< 具体类型> ( ) ;
D. 泛型通配符
a. 含义:
不知道使用什么数据类型的时候, 泛型可以使用 ?
b. 格式:
Collection< ? > 可以传递各种泛型类型的对象
例如: 这些都可以传递 Collection< Object> Collection< String> Collection< Integer>
c. 高级使用: (Number是Integer的父类)
Collection< ? extends Number > 只能接收 Number类型以及子类类型. (专业术语"泛型的上限" )
Collection< ? super Number> 只能接收 Number类型以及父类类型. (专业术语"泛型的下限" )