Interface ListIterator<E>

特有的方法:

  hasPrevious() 判断是否存在上一个元素。
  previous() 当前指针先向上移动一个单位,然后再取出当前指针指向的元素

  next(); 先取出当前指针指向的元素,然后指针向下移动一个单位。

  add(E e) 把当前有元素插入到当前指针指向的位置上。
  set(E e) 替换迭代器最后一次返回的元素。

public static void main(String[] args) {
List list = new ArrayList(); list.add("铁蛋");
list.add("三胖子");
list.add("狗剩");
list.add("Tom");
System.out.println(list); ListIterator it = list.listIterator();//返回的是List 接口特有的迭代器
System.out.println("有上一个元素: " + it.hasPrevious());//F
//System.out.println("获取上一个元素: " + it.previous());//出现异常
it.next();
System.out.println("获取上一个元素: " + it.previous());//刚开始时是指向,集合中的第一个元素,next之后,指针指向集合中的第二个元素然后取出 /*while (it.hasNext()) {
it.next();
it.previous();
}//这是个死循环,来来回回就*//*只在那一个地方*/ System.out.println();
while(it.hasNext()){
System.out.println(it.next());
}
System.out.println();
while (it.hasPrevious()){
System.out.println("元素是: " + it.previous());
}
System.out.println();
System.out.println(list);
it.next();
it.next();//指针动了两次
it.add("Jack");
System.out.println(list);//是list,不是输出it System.out.println();
it.next();
it.next();
it.set("MMMMMMMMM");//替换迭 代器最后一次返回 的元素。所以 没有迭代器最后一次的返回是不行的 (这里的it.next()就是最后一次的返回)
System.out.println(list);//然后抛出java.lang.IllegalStateException
}
}
[铁蛋, 三胖子, 狗剩, Tom]
有上一个元素: false
获取上一个元素: 铁蛋 铁蛋
三胖子
狗剩
Tom 元素是: Tom
元素是: 狗剩
元素是: 三胖子
元素是: 铁蛋 [铁蛋, 三胖子, 狗剩, Tom]
[铁蛋, 三胖子, Jack, 狗剩, Tom] [铁蛋, 三胖子, Jack, 狗剩, MMMMMMMMM] Process finished with exit code 0

java 集合(set)的更多相关文章

  1. Java集合专题总结(1):HashMap 和 HashTable 源码学习和面试总结

    2017年的秋招彻底结束了,感觉Java上面的最常见的集合相关的问题就是hash--系列和一些常用并发集合和队列,堆等结合算法一起考察,不完全统计,本人经历:先后百度.唯品会.58同城.新浪微博.趣分 ...

  2. Scala集合和Java集合对应转换关系

    作者:Syn良子 出处:http://www.cnblogs.com/cssdongl 转载请注明出处 用Scala编码的时候,经常会遇到scala集合和Java集合互相转换的case,特意mark一 ...

  3. java集合你了解多少?

    用了java集合这么久,还没有系统的研究过java的集合结构,今天亲自画了下类图,总算有所收获. 一.所有集合都实现了Iterable接口. Iterable接口中包含一个抽象方法:Iterator& ...

  4. 深入java集合学习1-集合框架浅析

    前言 集合是一种数据结构,在编程中是非常重要的.好的程序就是好的数据结构+好的算法.java中为我们实现了曾经在大学学过的数据结构与算法中提到的一些数据结构.如顺序表,链表,栈和堆等.Java 集合框 ...

  5. Java集合框架List,Map,Set等全面介绍

    Java集合框架的基本接口/类层次结构: java.util.Collection [I]+--java.util.List [I]   +--java.util.ArrayList [C]   +- ...

  6. Java集合框架练习-计算表达式的值

    最近在看<算法>这本书,正好看到一个计算表达式的问题,于是就打算写一下,也正好熟悉一下Java集合框架的使用,大致测试了一下,没啥问题. import java.util.*; /* * ...

  7. 【集合框架】Java集合框架综述

    一.前言 现笔者打算做关于Java集合框架的教程,具体是打算分析Java源码,因为平时在写程序的过程中用Java集合特别频繁,但是对于里面一些具体的原理还没有进行很好的梳理,所以拟从源码的角度去熟悉梳 ...

  8. Java 集合框架

    Java集合框架大致可以分为五个部分:List列表,Set集合.Map映射.迭代器.工具类 List 接口通常表示一个列表(数组.队列.链表 栈),其中的元素 可以重复 的是:ArrayList 和L ...

  9. Java集合概述

    容器,是用来装东西的,在Java里,东西就是对象,而装对象并不是把真正的对象放进去,而是指保存对象的引用.要注意对象的引用和对象的关系,下面的例子说明了对象和对象引用的关系. String str = ...

  10. 深入java集合系列文章

    搞懂java的相关集合实现原理,对技术上有很大的提高,网上有一系列文章对java中的集合做了深入的分析, 先转载记录下 深入Java集合学习系列 Java 集合系列目录(Category) HashM ...

随机推荐

  1. 2016 Al-Baath University Training Camp Contest-1 H

     Description You've possibly heard about 'The Endless River'. However, if not, we are introducing it ...

  2. 2016年11月20日 星期日 --出埃及记 Exodus 20:11

    2016年11月20日 星期日 --出埃及记 Exodus 20:11 For in six days the LORD made the heavens and the earth, the sea ...

  3. CentOS6 启动流程图文解剖

    我们在使用Linux操作系统的时候,我们只需按下电源键,等待,然后输入账户和密码就可以使用Linux操作系统了.那么在按下电源到输入账号和密码之前,操作系统都做了些什么?下面就来讲述在这段时间发生的动 ...

  4. CentOS6.5下安装wine OK

    这篇文章主要记录了如何在CentOS 6.5上安装Wine 1.7.24开发版 1.安装需要的软件包 # yum groupinstall ‘Development Tools‘ # yum inst ...

  5. Flume+kafka+storm+hdfs

    摘自:http://www.aboutyun.com/thread-6855-1-1.html

  6. linux 切换多个jdk脚本

    1,编写脚本 jdkswitch.sh #!/bin/sh # usage: . this_file [argvs] openjdk7_home=/usr/lib/jvm/java--openjdk- ...

  7. Using GET_GROUP_SELECTION For Record Groups in Oracle Forms

    Retrieves the sequence number of the selected row for the given group. Suppose you want to get a par ...

  8. python_way day13 sqlalchemy

    sqlalchemy 一对多 多对多 1.一对多 一.#创建表结构 class Host(Base): #所有的子类都继承这个基类 #创建表结构 __tablename__ = 'hosts' id ...

  9. JS学习笔记(五) HTML DOM

    参考资料: 1. http://www.w3school.com.cn/js/js_htmldom.asp 2. http://www.runoob.com/htmldom/htmldom-tutor ...

  10. git学习笔记12-标签管理-版本

    发布一个版本时,我们通常先在版本库中打一个标签(tag),这样,就唯一确定了打标签时刻的版本.将来无论什么时候,取某个标签的版本,就是把那个打标签的时刻的历史版本取出来.所以,标签也是版本库的一个快照 ...