Javaのコレクションクラス - イテレータイテレータインターフェース、シリアルインターフェースのリスト、反復子インタフェース

まず、イテレータイテレータインターフェース

1.概要

  • イテレータ:イテレータ
  • コレクション・イテレータを実行するために、
  • それは存在してコレクションに依存します

2、イテレータインターフェイス部材方法

  • boolean hasNext()
  • E next()
package liebiao;

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

public class ListDemo {
    public static void main(String[] args){
        List l = new ArrayList();//创建集合对象
        l.add("苍井空");
        l.add("是");
        l.add("一个");
        l.add("漂亮的");
        l.add("女孩");

        System.out.println(l);
        System.out.println("---------------------");

        //遍历集合
        Iterator it = l.iterator();
        //System.out.println(it);
        while (it.hasNext()){//使用hasNext()检查序列中是否还有元素。
            String s = (String)it.next();//使用next()获得序列中的下一个元素。
            System.out.println(s);
        }
    }
}

3、イテレータインターフェースを使用して

ケース:パッケージのクラスの学生

package liebiao;

public class Students {
    private String name;
    private int age;
    public Students(){//无参构造函数
        super();
    }
    public Students(String name,int age){
        super();
        this.name = name;
        this.age = age;
    }
    // 成员方法
    // getXxx()/setXxx()
    //Alt + Insert(idea 工具)
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
}

店舗カスタムオブジェクト、およびトラバース

package liebiao;

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

public class ListDemo{
    public static void main(String[] args){
        List l = new ArrayList();//创建集合对象
        Students s1 = new Students("苍井空",18);
        Students s2 = new Students("波多野结衣",19);
        Students s3 = new Students("泷泽萝拉",20);
        Students s4 = new Students("水菜丽",21);

        l.add(s1);
        l.add(s2);
        l.add(s3);
        l.add(s4);

        //遍历集合
        Iterator it = l.iterator();
        while (it.hasNext()){
            Students s = (Students) it.next();
            System.out.println("姓名:"+s.getName()+"----年龄:"+s.getAge());
        }
    }
}

4、原則Iteratorインターフェイス

第二に、インターフェース・シーケンス一覧

1.概要

  • リスト:シーケンス
  • Listインタフェースは、抽象クラスコレクションのサブクラスです
  • Listインタフェースは、インデックス要素に応じて要素へのアクセスリストの各要素の挿入位置を制御することができます。
  • セットとは異なり、一覧リストには、要素の重複を許可します

2、リストケース

  • 保管文字列とエルゴード

  • 店舗カスタムオブジェクトとトラバース

Listインタフェース方式の3、メンバー

  • void add(int index,E element)
  • E remove(int index)
  • E get(int index)
  • E set(int index,E element)
  • ListIterator listIterator()
package liebiao;

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

class ListDemo{
    public static void main(String[] args){
        List l = new ArrayList();
        l.add("hello");
        l.add("java");
        l.add("study");

        //指定位置添加元素
        l.add(1,"你好");

        //获取指定位置的元素
        System.out.println(l.get(3));
        System.out.println("--------------------");

        //根据索引删除元素
        System.out.println(l.remove(2));
        System.out.println("=======================");

        //根据索引修改元素
        System.out.println(l.set(0,"苍井空"));
        System.out.println(l);

        Iterator it = l.iterator();
        while (it.hasNext()){
            String s = (String)it.next();
            System.out.println(s);
        }
    }
}

三、反復子インタフェース

1.概要

  • 反復子インタフェースは、Listインタフェースのサブクラスであります

2、インターフェースメソッドのメンバー反復子

  • boolean hasPrevious()
  • E previous()
  • ConcurrentModificationException(例外を修正するパラレル)

3、リスト反復子

package liebiao;

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

class ListDemo{
    public static void main(String[] args){
        List l = new ArrayList();//创建List 集合对象

        l.add("hello");
        l.add("java");

        ListIterator it = l.listIterator();
        while (it.hasNext()){
            String s = (String)it.next();
            System.out.println(s);
        }
        System.out.println("------------------------");

        System.out.println(it.previous());//获取上一个元素
        System.out.println("==========================");

        while (it.hasPrevious()){//是否有上一个元素
            String s = (String)it.previous();
            System.out.println(s);
        }
    }
}

おすすめ

転載: blog.csdn.net/weixin_43860260/article/details/91993357