Java_Iterator-------迭代器配合Listarray使用,具有更多的功能(转载)

转载自:http://www.cnblogs.com/amboyna/archive/2007/09/25/904804.html

迭代器(Iterator)

  迭代器是一种设计模式,它是一个对象,它可以遍历并选择序列中的对象,而开发人员不需要了解该序列的底层结构。迭代器通常被称为“轻量级”对象,因为创建它的代价小。

  Java中的Iterator功能比较简单,并且只能单向移动:

  (1) 使用方法iterator()要求容器返回一个Iterator。第一次调用Iterator的next()方法时,它返回序列的第一个元素。注意:iterator()方法是java.lang.Iterable接口,被Collection继承。

  (2) 使用next()获得序列中的下一个元素。

  (3) 使用hasNext()检查序列中是否还有元素。

  (4) 使用remove()将迭代器新返回的元素删除。

  Iterator是Java迭代器最简单的实现,为List设计的List_Iterator具有更多的功能,它可以从两个方向遍历List,也可以从List中插入和删除元素。

迭代器应用:完整代码

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

public class Iterator_test {
    public static void main(String[] args) {
        List<String> l = new ArrayList<String>();   //没有加数据类型的话会有警告
         l.add("aa");
         l.add("bb");
         l.add("cc");
         // 使用方法1
         for (Iterator iter2 = l.iterator(); iter2.hasNext();) {
          String str = (String)iter2.next();
          System.out.println(str);
         }
         //使用方法2,迭代器用于while循环
         Iterator iter3 = l.iterator();
         while(iter3.hasNext()){
          String str = (String) iter3.next();
          System.out.println(str);
         }

    }
}
时间: 2024-11-06 14:20:03

Java_Iterator-------迭代器配合Listarray使用,具有更多的功能(转载)的相关文章

lsof 拥有更多的功能

lsof 拥有更多的功能# lsof -i 看系统中有哪些开放的端口,哪些进程.用户在使用它们,比 netstat -lptu 的输出详细. # lsof -i 4  查看IPv4类型的进程COMMAND    PID        USER   FD   TYPE DEVICE SIZE NODE NAMEexim4     2213 Debian-exim    4u  IPv4   4844       TCP *:smtp (LISTEN)dhclient3 2306        ro

【调试】Visual Studio 调试小技巧(2)-从查看窗口得到更多信息(转载)

在使用Visual Studio开发调试程序时,我们经常需要打开查看窗口(Watch)来分析变量.有时在查看窗口显示的内容不是很直观.为了能从查看窗口的变量中得到更多的信息,我们需要一些小的技巧.下面是几个例子. 1. Windows消息 在开发调试界面程序时,我们经常需要查看消息的内容.当在查看窗口中,仅仅只显示出消息对应的整数值,我们并不能直观地知道究竟是什么消息.比如: 为了能让查看窗口显示出消息内容,我们只需要在变量名添加“, wm”的格式化后缀,就能显示消息的名字: 2. 句柄返回值

超简单--仿微信朋友圈展开显示更多文字功能

在做的项目需要这个功能.而且是挺常用的一个功能. 需求是有一个评论列表,太多时要隐藏,然后点击展开更多按钮就可以显示全文. 思路就是可以弄俩TextView,一个MaxLine为n,一个不限制,然后再弄个按钮控制两个TextView交替显示. 有了思路马上动手,然后发现这个效果真是很简单就实现了..效果图 好了,废话不多说,上代码.讲解不会很多,因为实在太简单了... <?xml version="1.0" encoding="utf-8"?> <

[交流+分享]为SourceInsight添加Tab选项卡,及更多快捷功能

Source Insight不仅仅是一个强大的程序编辑器,它还能显示reference trees,class inheritance diagrams和call trees.Source Insight提供了最快速的对源代码的导航和任何程序编辑器的源信息. 但是美中不足的是在打开很多文件后,没有像其他编辑器一样的Tab页供方便的选择已经打开的文件. 在Sihook-master的基础上对Tab-Bar进行了进一步的功能提升:1. 添加了丰富的右键快捷功能:2. 添加了C/C++Artistic

python基础笔记完整版

1,避免'\n'等特殊字符的两种方式: 1,利用转义字符'\' 2,利用原始字符'r'   print r'c:\now' 3,字符串中嵌入双引号等特殊符号 1,利用转义字符'\' 2,使用单引号括起这个字符串    print ('i l"o"ve fis.com') 2,跨越多行的字符串.使用三个'''........''' 4,条件分支: if condition: 条件为真执行的操作 else: 条件为假执行的操作 if condition: action elif condi

探索SwipeRefreshLayout配合自定义ListView完成下拉刷新、滑到底部自动加载更多

在Android开发过程中经常需要实现上下拉刷新功能,Google推出的下拉刷新控件SwipeRefreshLayout(彩虹条),由于官方版本只有下拉刷新而没有上拉加载更多的功能,很多人也尝试在这个基础上进行改写.今天尝试一下使用SwipeRefreshLayout配合自定义ListView实现下拉刷新.滑到底部自动加载更多的功能. 效果图如下所示,在进入页面的时候加载自动刷新,滑到底部自动加载更多,当数据已经加载完成则显示已经加载完成,,否则上拉任可继续加载 先贴一下项目结构图吧,这样可能对

容器迭代器

容器迭代器 尽管C++指针也是迭代器,但用的更多的是容器迭代器.容器迭代器用法和iterdemo.cpp一样,但和将迭代器申明为指针变量不同的是,你可以使用容器类方法来获取迭代器对象.两个典型的容器类方法是begin()和end().它们在大多数容器中表示整个容器范围.其他一些容器还使用rbegin()和rend()方法提供反向迭代器,以按反向顺序指定对象范围. 下面的程序创建了一个矢量容器(STL的和数组等价的对象),并使用迭代器在其中搜索.该程序和前一章中的程序相同. Listing 2.

迭代器(Iterator)的使用方法

迭代器(Iterator) 迭代器是一种设计模式,它是一个对象,它可以遍历并选择序列中的对象,而开发人员不需要了解该序列的底层结构.迭代器通常被称为“轻量级”对象,因为创建它的代价小. Java中的Iterator功能比较简单,并且只能单向移动: (1) 使用方法iterator()要求容器返回一个Iterator.第一次调用Iterator的next()方法时,它返回序列的第一个元素.注意:iterator()方法是java.lang.Iterable接口,被Collection继承. (2)

C++STL之迭代器

迭代器 迭代器提供对一个容器中的对象的访问方法,并且定义了容器中对象的范围.迭代器就如同一个指针.事实上,C++的指针也是一种迭代器.但是,迭代器不仅仅是指针,因此你不能认为他们一定具有地址值.例如,一个数组索引,也可以认为是一种迭代器. 迭代器有各种不同的创建方法.程序可能把迭代器作为一个变量创建.一个STL容器类可能为了使用一个特定类型的数据而创建一个迭代器.作为指针,必须能够使用*操作符类获取数据.你还可以使用其他数学操作符如++.典型的,++操作符用来递增迭代器,以访问容器中的下一个对象