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. 【LeetCode】926. Flip String to Monotone Increasing 解题报告(Python)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 Prefix计算 动态规划 参考资料 日期 题目地址 ...

  2. 【LeetCode】187. Repeated DNA Sequences 解题报告(Python)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 题目地址: https://leetcode.com/problems/repeated ...

  3. 【LeetCode】40. Combination Sum II 解题报告(Python & C++)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 方法一:DFS 方法二:回溯法 日期 题目地址:ht ...

  4. YAPTCHA(hdu2973)

    YAPTCHA Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Su ...

  5. 1109 01组成的N的倍数

    1109 01组成的N的倍数 基准时间限制:1 秒 空间限制:131072 KB  给定一个自然数N,找出一个M,使得M > 0且M是N的倍数,并且M的10进制表示只包含0或1.求最小的M.   ...

  6. 「算法笔记」Link-Cut Tree

    一.简介 Link-Cut Tree (简称 LCT) 是一种用来维护动态森林连通性的数据结构,适用于动态树问题. 类比树剖,树剖是通过静态地把一棵树剖成若干条链然后用一种支持区间操作的数据结构维护, ...

  7. CS5211替代PS8625|设计DP转LVDS转接板|替代PS8625方案

    1.CS5211与PS8625功能概述 CS5211是一个eDP到LVDS转换器,配置灵活,适用于低成本显示系统.CS5211与eDP 1.2兼容,支持1通道和2通道模式,每通道速度为1.62Gbps ...

  8. Java基础周测试(一)详解

    一.单选题 (题数:30,共 150.0 分) 1.下列选项不可作为Java语言变量名的是(    ).(5.0分) A.a1            B.$1           C._1       ...

  9. JDK中的BitMap实现之BitSet源码分析

    前提 本文主要内容是分析JDK中的BitMap实现之java.util.BitSet的源码实现,基于JDK11编写,其他版本的JDK不一定合适. 文中的图比特低位实际应该是在右边,但是为了提高阅读体验 ...

  10. 大厂必问的Spring面试题

    准备了一个月的八股文,经历了二十几场秋招面试之后,发现Spring很受面试官青睐.最近有空将Spring常见的面试题总结了一下,希望对大家有所帮助. 文章目录: Spring的优点 Spring 用到 ...