Collection集合概述
1、集合概述
- 集合:集合是Java中提供的一种容器,可以用来存储多个数据。
- 数组和集合的区别?
2、集合框架
- Collection:单列集合类的根接口。集合按存储结构可以分为两大类,单列集合Collection和双列集合Map。
- List和Set:继承Collection,它们的区别?
3、Collection常用功能
- public boolean add(E e):
- public void clear():
- public boolean remove(E e):
- public boolean contains(E e):
- public boolean isEmpty():
- public int size():
- public Object[] toArray():
Iterator迭代器
1、Iterator接口:用于遍历集合中所有的元素。
2、常用方法:public E next():返回迭代的下一个元素。public boolean hasNext():如果仍有元素可以迭代,则返回true。
3、使用范例:
//创建集合
Collection<String> co = new ArrayList<>();
co.add("🐱");co.add("🐕");co.add("ni");
//获取迭代器,每个集合对象都有自己的迭代器
Iterator<String> it = co.iterator();
//遍历
while(it.hasNext()){
String s = it.next();
System.out.println(s);
}
4、增强for:
专门用来遍历数组和集合的。内部原理是个Iterator迭代器,所以在遍历的过程中,不能对集合中的元素进行增删操作。
for(元素的数据类型 变量 :Collection 或 数组){
}
泛型
1、泛型概述:可以在类或方法中预支地使用未知地类型。
2、使用泛型地好处:
- 将运行时期地ClassCastException,转移到了编译时期变成了编译失败。
- 避免了类型强转地麻烦。
具体解释:
没有泛型的情况的下,通过对类型Object的引用来实现参数的“任意化”,“任意化”带来的缺点是要做显式的强制类型转换,而这种转换
是要求开发者对实际参数类型可以预知的情况下进行的。对于强制类型转换错误的情况,编译器可能不提示错误,在运行的时候才出现异常,
这是一个安全隐患。泛型的好处是在编译的时候检查类型安全,并且所有的强制转换都是自动和隐式的,以提高代码的重用率。
3、 泛型地定义和使用
1,含有泛型的类
定义格式:修饰符 class 类名<代表泛型的变量>{}
例子:class ArrayList<E>{
public boolean add(E e){}
public E get(int index){}
.....
}
使用:ArrayList<Integer> list = new ArrayList<Integer>();
2,含有泛型的方法
类没有被定义泛型:
修饰符<代表泛型的变量> 返回值类型 方法名(参数){}
public <T> void show(T t){};
使用定义在类声明的类型参数:
class ArrayList<E>{
public boolean add(E e){}//直接用
public E get(int index){}
.....
}
3,含有泛型的接口
定义格式:修饰符 interface 接口名字<代表泛型的变量>{}
public interface MyInterface<E>{
public abstract void add(E e);
public abstract E get():
}
使用:
*定义类时确定泛型的类型:
public class MyImp1 implements MyInterface<String> {
...
}
*始终不确定泛型的类型,直到被创建对象时。
public class MyImp2<E> implements MyGenericInterface<E> {
...
}
1139

被折叠的 条评论
为什么被折叠?



