集合的四种输出方法

Iterator:迭代输出,是使用最多的输出方式,用于输出List中的内容

LIstIterator:是Iterator的子接口,专门用于输出List中的内容

foreach:可以输出数组和集合,用于输出List中的内容

Enumeration:是一个旧的接口,功能与Iterator类似,用于输出Vector中的内容

迭代输出Iterator:

package com.iterator;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

public class IteratorDemo01 {
    public static void main(String[] args) {
        List<String> allList = new ArrayList<String>();
        allList.add("hello");
        allList.add("--");
        allList.add("world");
        Iterator<String> iter=allList.iterator();  //直接实例化Iterator接口S
        while (iter.hasNext()) {                   //依次判断
            System.out.printf(iter.next()+"、");
        }
    }

}
hello、--、world、

删除元素:

package com.iterator;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

public class IteratorDemo02 {
    public static void main(String[] args) {
        List<String> allList = new ArrayList<String>();
        allList.add("hello");
        allList.add("--");
        allList.add("world");
        Iterator<String> iter = allList.iterator();//直接实例化Iterator接口S
        while(iter.hasNext()){                     //依次判断
            String str = iter.next();              //取出内容
            if("-".equals(str)){                   //判断元素是否为"-"
                iter.remove();                     //是则删除当前元素
                /*iter.remove(str);                 判断完"-"后集合本身内容被破坏掉了,不能继续输出其余的元素*/
            }else{
                System.out.printf(str+"、");        //否则迭代输出集合元素
            }
        }
        System.out.println("\n"+allList);
    }

}

hello、--、world、
[hello, --, world]

双向迭代输出:

package com.iterator;

import java.util.ArrayList;
import java.util.List;
import java.util.ListIterator;
//双向迭代输出
public class ListIteratorDemo01 {
    public static void main(String[] args) {
        List<String> allList = new ArrayList<String>();
        allList.add("hello");
        allList.add("--");
        allList.add("world");
        System.out.println(allList);
        ListIterator<String> iter= allList.listIterator();

        System.out.println("由前向后输出:");
        while(iter.hasNext()){
            String str = iter.next();
            System.out.printf(str+"、");
        }

        System.out.println("\n由后向前输出:");
        while(iter.hasPrevious()){
            String str = iter.previous();
            System.out.printf(str+"、");
        }
    }
}
[hello, --, world]
由前向后输出:
hello、--、world、
由后向前输出:
world、--、hello、

增加及替换元素:

package com.iterator;

import java.util.ArrayList;
import java.util.List;
import java.util.ListIterator;

public class ListIteratorDemo02 {
    public static void main(String[] args) {
        List<String> allList = new ArrayList<String>();
        allList.add("hello");
        allList.add("--");
        allList.add("world");
        System.out.println(allList+"、");
        ListIterator<String> iter = allList.listIterator();
        System.out.println("由前向后输出:");
        while(iter.hasNext()){
            String str = iter.next();
            System.out.printf(str+"、");
            iter.set("YQ&"+str);                   //替换集合中的元素
        }
        System.out.print("\n"+allList+"、");
        iter.add("LXH");                           //添加元素
        System.out.println("\n由后向前输出:");
        while(iter.hasPrevious()){
            String str = iter.previous();
            System.out.printf(str+"、");
        }
    }

}
[hello, --, world]、
由前向后输出:
hello、--、world、
[YQ&hello, YQ&--, YQ&world]、
由后向前输出:
LXH、YQ&world、YQ&--、YQ&hello、

foreach输出:

package com.iterator;

import java.util.ArrayList;
/*import java.util.Iterator;*/
import java.util.List;

public class Foreach {
    public static void main(String[] args) {
        List<String> allList = new ArrayList<String>();
        allList.add("hello");
        allList.add("--");
        allList.add("world");
        for(String str:allList){
            System.out.printf(str+"、");
        }
        /*Iterator<String> iter = allList.iterator();
        while(iter.hasNext()){
            System.out.printf(iter.next()+"、");
        }*/
    }

}
hello、--、world、

原文地址:https://www.cnblogs.com/YQian/p/10859335.html

时间: 2024-10-20 21:52:09

集合的四种输出方法的相关文章

并查集类的c++封装,比较union_find algorithm四种实现方法之间的性能差别

问题描述: 在计算机科学中,并查集是一种树型的数据结构,其保持着用于处理一些不相交集合(Disjoint Sets)的合并及查询问题.有一个联合-查找算法(union-find algorithm)定义了两个操作用于此数据结构: Find:确定元素属于哪一个子集.它可以被用来确定两个元素是否属于同一子集: Union:将两个子集合并成同一个集合: 实现并查集的关键是实现union-find algorithm, 本文根据常用的四种算法,实现了这个类,具体算法实现请参看维基百科: 制造测试数据集,

并查集类的c++封装,比較union_find algorithm四种实现方法之间的性能区别

问题描写叙述: 在计算机科学中,并查集是一种树型的数据结构,其保持着用于处理一些不相交集合(Disjoint Sets)的合并及查询问题.有一个联合-查找算法(union-find algorithm)定义了两个操作用于此数据结构: Find:确定元素属于哪一个子集.它能够被用来确定两个元素是否属于同一子集: Union:将两个子集合并成同一个集合: 实现并查集的关键是实现union-find algorithm, 本文依据经常使用的四种算法,实现了这个类,详细算法实现请參看维基百科: 制造測试

JAVA中运用数组的四种排序方法

JAVA中在运用数组进行排序功能时,一般有四种方法:快速排序法.冒泡法.选择排序法.插入排序法. 快速排序法主要是运用了Arrays中的一个方法Arrays.sort()实现. 冒泡法是运用遍历数组进行比较,通过不断的比较将最小值或者最大值一个一个的遍历出来. 选择排序法是将数组的第一个数据作为最大或者最小的值,然后通过比较循环,输出有序的数组. 插入排序是选择一个数组中的数据,通过不断的插入比较最后进行排序.下面我就将他们的实现方法一一详解供大家参考. <1>利用Arrays带有的排序方法快

关于Facebook、twitter、google、pinterest四种分享方法,附带微博、QQ、微信、豆瓣等等

常用的国外网站分享推过,Facebook.twitter.google.pinterest这四种社交平台最常见,下面就简单介绍一下分享的方法. 首先,必须使用分享插件,share.js 获取方法: https://github.com/chenpenggood/share.js 这有两种分享文件:1.关于Facebook.twitter.google.pinterest四种分享方法, 简洁版,容量小 2.jQuery分享插件jquery.share.js享到QQ.微信.微博.google.in.

HashMap的四种遍历方法,及效率比较(简单明了)

https://yq.aliyun.com/ziliao/210955 public static void main(String[] args) { HashMap<Integer, String> map = new HashMap<Integer, String>(); for (int i = 0; i < 40000; i++) { map.put(i, "第" + i + "个"); } //循环第一种 long t1 =

由ORACLE_SID想到脚本的四种运行方法

以前学习脚本知道一个概念,关于脚本运行方式的问题,我们熟知的脚本运行方式有以下几种: (1)../script.sh (点斜线脚本) (2).sh script.sh (sh空格脚本) (3).source script.sh (source空格脚本) (4).. script.sh (点空格脚本) 先写个简单的脚本,把执行结果贴在下面,然后分别对这几种脚本运行方式作解释. script.sh内容如下: ------------------------------- #!/bin/bash ec

C#四种深拷贝方法

//四种深拷贝方法 public static T DeepCopyByReflect<T>(T obj) { //如果是字符串或值类型则直接返回 if (obj is string || obj.GetType().IsValueType) return obj; object retval = Activator.CreateInstance(obj.GetType()); FieldInfo[] fields = obj.GetType().GetFields(BindingFlags.

数据库的四种操纵方法——增、删、改、查

数据库的四种操纵方法——增.删.改.查 增——一种可视化增加就是在设计页面右键点开已经存在的表 进行内容的增加. 另一种是在查询页面,创建查询在代码界面进行代码添加.书写形式:insert into xxx(zzz,ccc)values('aaa','sss')——insert是插入的意思,into是进哪去,xxx代表要插入的表名,zzz,ccc表示表内的列名,values的意思是‘值’,后面的xxx和ccc是插入所内容的列名.总体的意思就是:在xxx表内的zzz列和ccc列插入aaa和sss

U盘强制拔出丢失数据的恢复方法(U盘写保护的四种解决方法)

● U盘强制拔出丢失数据的恢复方法 U盘从出现以来,小巧便携容量大深受人们的喜爱,不用像云盘一样需要下载,所以重要的文件我们都喜欢用U盘来传递数据,但是很多人使用U盘拔出时都没有使用"弹出U盘"功能,取出过程中电脑正在对U盘读写,这时候拔出很容易造成数据丢失或者导致U盘中的文件损坏无法打开,那么这种情况下我们应该怎么解决呢?下面小编就教大家如何恢复,一起来看看吧. 首先,下载一个数据恢复软件,比较好用的就有[迷你兔数据恢复软件](minitool中文版本),可以恢复U盘中被删除的数据,