【Java学习笔记】<集合框架>Iterator的子接口ListIterator

 1 import java.util.ArrayList;
 2 import java.util.Iterator;
 3 import java.util.List;
 4
 5 public class Test3 {
 6
 7     public static void main(String[] args) {
 8         List list = new ArrayList();
 9
10         list.add("abc1");
11         list.add("abc2");
12         list.add("abc3");
13         list.add("abc4");
14
15         Iterator it = list.iterator();
16         while (it.hasNext()){
17             Object obj = it.next();   //java.util.ConcurrentModificationException
18
19             if (obj.equals("abc2")){
20                 list.add("abc9");     //在迭代器过程中,不要使用集合操作元素,容易出现异常。
21                                       //可以使用Iterator接口的子接口ListIterator来完成在迭代中对元素进行更多的操作
22             }
23             else
24                 System.out.println("next:"+obj);
25         }
26         System.out.println(list);
27
28     }
29
30 }
 1 import java.util.ArrayList;
 2 import java.util.List;
 3 import java.util.ListIterator;
 4
 5 public class Test3 {
 6
 7     public static void main(String[] args) {
 8         List list = new ArrayList();
 9
10         list.add("abc1");
11         list.add("abc2");
12         list.add("abc3");
13         list.add("abc4");
14
15         System.out.println("list:"+list);
16
17         ListIterator it = list.listIterator();//获取列表迭代器的对象
18                                               //它可以实现在迭代过程中完成对元素的增删改查
19                                                //注意:只有list集合具备该迭代功能
20
21         System.out.println("hasNext:"+it.hasPrevious()); //返回列表中当前位置的前面是否有元素的结果。 true or false
22
23         while (it.hasNext()){
24             Object obj = it.next();
25
26             if (obj.equals("abc2")){
27                 it.set("abc9");     //用指定元素替换 next 或 previous 返回的最后一个元素(可选操作)。
28             }
29         }
30
31         System.out.println("list:"+list);
32         System.out.println();
33
34         System.out.println("hasNext:"+it.hasNext());
35         System.out.println("hasNext:"+it.hasPrevious());
36         System.out.println();
37
38         while (it.hasPrevious())
39         {
40             System.out.println("Previous:"+it.previous());
41         }
42         System.out.println();
43
44         System.out.println("list:"+list);
45     }
46
47 }

时间: 2024-08-24 10:32:35

【Java学习笔记】<集合框架>Iterator的子接口ListIterator的相关文章

Java学习之集合框架(1) &lt;好程序员特训营&gt;

<A href="http://www.goodprogrammer.org/" target="blank">android培训</a>------我的java笔记,期待与您交流! 集合框架图: 1. Collection Collection定义了集合框架的共性功能. 1)添加  add(e);  addAll(collection); 2)删除  remove(e);  removeAll(collection);  clear();

java学习日记 集合框架

集合框架 有两大接口  一个是 Collection (类集 )与Map (映射): collection 下有两大接口  一个是List (列表) 另一个是Set(集合) List (列表):ArrayList 基于数组实现的动态列表    动态数组 : LinkedList 基于链表实现的列表      双向循环链表 Vector 向量   ------>stack栈           与线程相关: Set (集合) :TreeSet       通过树实现的集合  有序集合 HashSe

Java学习笔记----------集合Set

Java集合-----Set集合:就像一种容器,可以把多个对象放进该容器中.Java集合分为:Set.List.Map三种体系. Set:无序的,不可重复的: List:有序的,可重复的: Map:代表有映射关系的集合,Map保存的每一项数据都是key-value对.注意:Java 5后添加了Queue体系,代表一种队列集合实现. 集合和数组对比:1.数组一旦初始化,长度不可变:2.数组无法保存具有映射关系的数据,例如成绩表:语文---79:3.数组的元素可以是基本类型的值,也可以是对象,而集合

Java学习关于集合框架的基础接口--Collection接口

 集合框架(Collection  Framework)是Java最强大的子系统之一,位于java.util 包中.集合框架是一个复杂的接口与和类层次,提供了管理对象组的最新技术.Java集合框架标准化了程序处理对象组的方式. 集合框架在设计上需要满足几个目标.首先,框架必须是高性能的.基本集合(动态数组.链表.树以及哈希表)的实现是高效率的.很少需要手动编写这些数据引擎中的某一个.其次,框架必须允许不同类型的集合以类似的方式进行工作,并且具有高度的互操作性.再次,扩展或改造必须易于实现.为了满

Java学习 ( 集合框架)

集合框架 概述:数组长度是固定的,当添加的元素超过了数组的长度时需要对数组重新定义,太麻烦,Java内部给我们提供了集合类,能存储任意对象,长度是可以改变的,随元素的增加而增加,随元素的减少而减少. 数组和集合的区别: 数组既可以存储基本数据类型,又可以存储引用数据类型.(基本数据类型存储的是值,引用数据类型存储的是地址值) 集合只能存储引用数据类型(对象) *集合中也可以存储基本数据类型,但是在存储的时候会自动装箱变成对象. 数组和集合的使用 : 如果元素个数是固定的推荐用数组. 如果元素个数

Java学习之集合框架的迭代器--Iteratorjk及ListItertor接口

通常情况下,你会希望遍历一个集合中的元素.例如,显示集合中的每个元素.一般遍历数组都是采用for循环或者增强for,这两个方法也可以用在集合框架,但是还有一种方法是采用迭代器遍历集合框架,它是一个对象,实现了Iterator 接口或ListIterator接口.迭代器,使你能够通过循环来得到或删除集合的元素.ListIterator 继承了Iterator,以允许双向遍历列表和修改元素.Iterator和ListIterator都是泛型接口,它们的 声明: interface  Iterator

Java学习笔记:Spring框架

1.什么是Spring? 1.1 spring 是一个开源框架 1.2 spirng 为简化企业级应用开发而生,使用 spring 可以使简单的 JavaBean 实现以前只有 EJB 才能实现的功能 1.3 spring 是一个 IOC(DI) 和 AOP 容器框架 2.Spring入门示例   2.1 HelloWorld.java package com.oneline.spring.day01; public class HelloWorld { private String name;

java学习笔记—集合之Map集合

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; text-align: center; font: 12.0px Times } p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px "Songti SC" } p.p3 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Times } p.p4 { margin: 0.0px 0.0px 0.0px 0.0

Java学习笔记--Hibernate框架错误集合及解决

错误1:MappingException: Unknown entity解决方案 http://jingyan.baidu.com/article/e75aca8552761b142edac6cf.html 错误2:Could not bind factory to JNDI 2006-07-23 23:14:53,796 [main] WARN org.hibernate.impl.SessionFactoryObjectFactory - Could not bind factory to