1 package cn.itcast.p4.list.demo;
2
3 import java.util.ArrayList;
4 import java.util.Iterator;
5 import java.util.List;
6 import java.util.ListIterator;
7
8 import com.sun.tools.sjavac.comp.dependencies.PublicApiCollector;
9
10 public class ListDemo2 {
11 public static void main(String[] args) {
12 List list = new ArrayList();
13 // show(list);
14
15 list.add("abc1");
16 list.add("abc2");
17 list.add("abc3");
18
19 ListIterator it = list.listIterator();//获取列表迭代器对象
20 //它可以实现在迭代过程中完成对元素的增删改查。
21 //注意:只有list集合具备该迭代功能
22
23 while (it.hasNext()) {
24 Object obj = it.next();
25 if (obj.equals("abc2")) {
26 it.add("abc9");
27 }
28 }
29 // System.out.println("next:"+it.hasNext());
30 // System.out.println("hasPrevious:"+it.hasPrevious());
31
32 while (it.hasPrevious()) {
33 System.out.println("previous:"+it.previous());//逆序遍历
34 }
35 System.out.println("list:"+list);
36
37 /*
38 * Iterator it = list.iterator();//此时迭代器知道有三个元素 while (it.hasNext()) { Object
39 * obj = it.next();//java.util.ConcurrentModificationException
40 * //在迭代过程中,不要使用集合操作元素,容易操作异常,(并发修改)
41 * //可以使用Iterator接口的子接口ListIterator来完成迭代中对元素进行更多的操作 if (obj.equals("abc2")) {
42 * list.add("abc9");// }else { System.out.println("next:"+obj); }
43 *
44 * } System.out.println(list);
45 */
46
47
48
49
50
51 }
52
53 private static void show(List list) {
54 // TODO Auto-generated method stub
55 list.add("abc1");
56 list.add("abc2");
57 list.add("abc3");
58 list.add("abc4");
59
60 Iterator it = list.iterator();
61 while (it.hasNext()) {
62 System.out.println("next:"+it.next());
63 }
64 //list特有的取出元素方式之一,set不具备,set只有iterator
65 for (int i = 0; i < list.size(); i++) {
66 System.out.println("get:"+list.get(i));
67 }
68
69
70 }
71 }

集合框架-ListIterator接口的更多相关文章

  1. Java集合框架——List接口

    第三阶段 JAVA常见对象的学习 集合框架--List接口 按照集合框架的继承体系,我们先从Collection中的List接口开始学习 (一) 概述及功能(ArrayList演示) (1) 概述 L ...

  2. Java集合框架——Set接口

    第三阶段 JAVA常见对象的学习 集合框架--Set接口 List集合的特点是有序的,可重复的,是不是存在这一种无序,且能保证元素唯一的集合呢?(HashSet )这就涉及到我们今天所要讲的Set集合 ...

  3. Java集合框架Map接口

    集合框架Map接口 Map接口: 键值对存储一组对象 key不能重复(唯一),value可以重复 常用具体实现类:HashMap.LinkedHashMap.TreeMap.Hashtable Has ...

  4. Java集合框架顶层接口collectiion接口

    如何使用迭代器 通常情况下,你会希望遍历一个集合中的元素.例如,显示集合中的每个元素. 一般遍历数组都是采用for循环或者增强for,这两个方法也可以用在集合框架,但是还有一种方法是采用迭代器遍历集合 ...

  5. Java集合框架——Map接口

    第三阶段 JAVA常见对象的学习 集合框架--Map集合 在实际需求中,我们常常会遇到这样的问题,在诸多的数据中,通过其编号来寻找某一些信息,从而进行查看或者修改,例如通过学号查询学生信息.今天我们所 ...

  6. Java集合框架之接口Collection源码分析

    本文我们主要学习Java集合框架的根接口Collection,通过本文我们可以进一步了解Collection的属性及提供的方法.在介绍Collection接口之前我们不得不先学习一下Iterable, ...

  7. JAVA集合框架 - Map接口

    Map 接口大致说明(jdk11): 整体介绍: 一个将键映射到值的(key-value)对象, 键值(key)不能重复, 每个键值只能影射一个对象(一一对应). 这个接口取代了Dictionary类 ...

  8. Java集合框架的接口和类层次关系结构图

    Collection和Collections的区别 首先要说的是,"Collection" 和 "Collections"是两个不同的概念: 如下图所示,&qu ...

  9. Java集合——集合框架Map接口

    1.Map接口 public interface Map<K,V>将键映射到值的对象.一个映射不能包含重复的键:每个键最多只能映射到一个值.  2.HashMap.Hashtable.Tr ...

随机推荐

  1. JAVA中SpringMVC获取bean方法,在工具类(utils)注入service

    有时候我们会出现无法用注解 @Autowired 注入bean的情况,这个时候可以 通过contextLoader获取 WebApplicationContext ctx = ContextLoade ...

  2. 【LeetCode】940. Distinct Subsequences II 解题报告(Python)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 动态规划 日期 题目地址:https://leetc ...

  3. spoj - ACTIV - Activities

    ACTIV - Activities Ana likes many activities. She likes acrobatics, alchemy, archery, art, Arabic da ...

  4. Doing Homework(hdu)1074

    Doing Homework Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)To ...

  5. 【】二次通告--Apache log4j-2.15.0-rc1版本存在绕过风险,请广大用户尽快更新版本

    [转载自360众测] Apache Log4j2是一个基于Java的日志记录工具.该工具重写了Log4j框架,并且引入了大量丰富的特性.我们可以控制日志信息输送的目的地为控制台.文件.GUI组件等,通 ...

  6. 序列化之serialVersionUID

    serialVersionUID作用: 序列化时为了保持版本的兼容性,即在版本升级时反序列化仍保持对象的唯一性. 序列化ID起着关键的作用,java的序列化机制是通过在运行时判断类的serialVer ...

  7. Gumbel distribution

    目录 概 主要内容 定义 Gumbel-Max trick Gumbel trick 用于归一化 代码 概 感觉这个分布的含义很有用啊, 能预测'最大', 也就是自然灾害, 太牛了. 主要内容 定义 ...

  8. vue基于Blob.js和 Export2Excel.js做前端导出

    1安装三个依赖包 npm install -S file-saver@2.0.2 npm install -S xlsx@0.15.6 npm install -D script-loader@0.7 ...

  9. uniapp上传图片后台返回url后放入image中图片不显示问题

    原因:后台返回路径问题后台返回地址斜杠为 \ 我们需要的是 /  如下后台返回的地址导致转义了 修改后可以显示

  10. 使用 Android Studio 开发工具创建一个 Android 应用程序,并在 Genymotion 模拟器上运行

    需求说明: 使用 Android Studio 开发工具创建一个 Android 应用程序,并在 Genymotion 模拟器上运行 实现步骤: 打开 Android Studio,创建一个 Andr ...