迭代器
迭代:对过程的重复
迭代器:遍历Collection集合的通用方式,可以在对集合遍历的同时进行添加,删除等操作。
迭代器的常用方法:
- next():返回迭代的下一个元素对象
- hasNext():如果仍有元素可以迭代,则返回true
使用迭代器遍历list集合案例:
迭代器的用法:
1.根据集合对象获取其对象的迭代器对象
2.判断迭代器中是否有元素
3.如果有就获取元素
//需求:通过迭代器遍历list对象
public static void main(String[] args) {
List list = new ArrayList //1.创建集合对象
list.add("a");
list.add("b");
list.add("c");//2.创建元素对象3.将元素对象添加到集合对象
//4,遍历集合
Iterator it = list.iterator();
while(it.hasNext()){
String s = (String)it.next();
System.out.println(s);
}
注意:列表迭代器是List体系独有的遍历方式,可以在对集合遍历的同时进行添加,删除等操作,但必须通过调用列表迭代器来实现
//需求:如果集合中有字符串“b"则在其后添加新字符串:java
public static void main(String[] args) {
List list = new ArrayList();
list.add("a");
list.add("b");
list.add("c");
ListIterator lit = list.listIterator();
while(lit.hasNext()) {
String s = (String) lit.next();
if ("b".equals(s)) {
lit.add("java"); }//调用列表迭代器
System.out.println(s);
}
System.out.println(list);
}
总结:普通的迭代器在遍历集合的同时不能添加或删除元素,否则会报并发修改异常。
列表迭代器在遍历集合的同时可以修改集合中的元素(添加/删除),但必须使用列表迭代器中的方法。
泛型
泛型即泛指任意类型,又叫参数化类型,对具体类型的使用起到辅助作用,类似于方法的参数。
集合类泛型:表示该集合中存放指定类型的元素
给List集合加上泛型String:
Listlist = new ArrayList<>();
泛型的好处:类型安全,避免了类型转换
//演示泛型(一般只和集合类相结合使用)
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("abc");
list.add("bca");
for (String s : list) {
System.out.println(s);
}
}
d("bca");
for (String s : list) {
System.out.println(s);
}
}