永发信息网

java ①类中实例是arraylist集合 ②迭代器的使用 谢谢

答案:3  悬赏:40  手机版
解决时间 2021-03-30 05:23
  • 提问者网友:焚苦与心
  • 2021-03-29 09:29
java ①类中实例是arraylist集合 ②迭代器的使用 谢谢
最佳答案
  • 五星知识达人网友:忘川信使
  • 2021-03-29 10:21
迭代器是一种模式,它可以使得对于序列类型的数据结构的遍历行为与被遍历的对象分离,即我们无需关心该序列的底层结构是什么样子的。只要拿到这个对象,使用迭代器就可以遍历这个对象的内部.
1.Iterator
Java提供一个专门的迭代器<>Iterator,我们可以对某个序列实现该interface,来提供标准的Java迭代器。Iterator接口实现后的功能是“使用”一个迭代器.
文档定义:
Package java.util;

publicinterface Iterator {

boolean hasNext();//判断是否存在下一个对象元素

E next();

void remove();
}2.Iterable
Java中还提供了一个Iterable接口,Iterable接口实现后的功能是“返回”一个迭代器,我们常用的实现了该接口的子接口有: Collection, Deque, List, Queue, Set 等.该接口的iterator()方法返回一个标准的Iterator实现。实现这个接口允许对象成为 Foreach 语句的目标。就可以通过Foreach语法遍历你的底层序列。
Iterable接口包含一个能够产生Iterator的iterator()方法,并且Iterable接口被foreach用来在序列中移动。因此如果创建了任何实现Iterable接口的类,都可以将它用于foreach语句中。
使用Iterator的简单例子

import java.util.*;

publicclass TestIterator {


public static void main(String[] args) {
    List list=new ArrayList();
    Map src=new HashMap();
    for(int i=0;i<10;i++){
       list.add(new String("list"+i) );
       map.put(i, new String("map"+i));
     }

    Iterator iterList= list.iterator();//List接口实现了Iterable接口
    //遍历ArrayList
    while(iterList.hasNext()){
        String strList=(String)iterList.next();
        System.out.println(strList.toString());
     }

     Iterator iterMap=map.entrySet().iterator();
     //遍历Map
     while(iterMap.hasNext()){
         Map.Entry strMap=(Map.Entry)iterMap.next();
         System.out.println(strMap.getValue());
      }
   }
}
全部回答
  • 1楼网友:往事隔山水
  • 2021-03-29 12:29
List list = new ArrayList();
list.add("1");
list.add("2");
list.add("3");
list.add("4");
list.add("5");
Iterator iteraorList = list.iterator();
while(iteraorList.hasNext()){
    String outputStr = (String) iteraorList.next();
    System.out.println(outputStr);
}
  • 2楼网友:夜风逐马
  • 2021-03-29 11:28

arraylist 继承自list接口
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

public class ArrayListDemo {
    public static void main(String[] args) {
        List list = new ArrayList();
        // 添加
        list.add(1);
        //删除
        list.remove(0);
        List list1 = new ArrayList();
        for (int i = 0; i < 100; i++) {
            list1.add(i);
        }
        list.addAll(list1);
        //获取
        System.out.println(list.get(list.size() - 10));
        //迭代器遍历方法
        Iterator iterator = list.iterator();
        while (iterator.hasNext()) {
            Integer next = iterator.next();
            System.out.println(next);
        }
        //for循环遍历方法
        for (int i = 0; i < list.size(); i++) {
            System.out.println(list.get(i));
        }
        System.out.println(list.toString());
        //清空
        list.clear();
        System.out.println(list.toString());
    }
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯