集合(三)——List(续)

集合的框架

List集合遍历

List作为Collction接口的子接口,在Collection部分的三种遍历方式,这里都可以使用。 同时, 还添加了两种用来遍历集合的其他方式。

  1. 下标遍历
    顾名思义, 类似于数组的下标遍历。 遍历集合中的所有的下标, 依次获取指定下标位的元素。
import java.util.*;

/**
 * 下标遍历
 */
public class Test {
    public static void main(String[] args) {
        List<Integer> list=new ArrayList<>();
        Collections.addAll(list,10,20,30,40,50,60,70,80,90,100);
        for (int i = 0; i <list.size() ; i++) {
            System.out.print(list.get(i)+" ");
        }
    }
}

  1. List迭代器
    这种方式, 类似于迭代器。 在List集合中, 有一个方法 listIterator(), 可以获取到一个 ListIterator 接口的引用。 而ListIteratorIterator的子接口。 因此在保留了传统的迭代器的迭代方法的基础上, 还添加了若干个其他的方法。
  • 使用ListIterator, 在遍历集合中的元素的同时, 可以向集合中添加元素、删除元素、修改元素。
  • 但是, 这里对集合中的元素操作, 并不是使用 List 接口中的方法, 而是用 ListIterator 接口中的方法完成。
package practice;

import java.util.*;

/**
 * List迭代器进行遍历
 */
public class Test {
    public static void main(String[] args) {
        List<Integer> list=new ArrayList<>();
        Collections.addAll(list,10,20,30,40,50,60,70,80,90,100);
        //获取迭代器对象
        ListIterator<Integer> integerListIterator=list.listIterator();
        //从指定下标位开始遍历
        //ListIterator<Integer> integerListIterator=list.listIterator(4);
        //循环遍历
        while(integerListIterator.hasNext()){
            //获取迭代器当前指向的对象
            Integer integer=integerListIterator.next();
            System.out.print(integer+" ");

            //元素操作
            if(integer==30){
                //在30的后面加上300
                //integerListIterator.add(300);
                //移除30
                //integerListIterator.remove();
                //修改,将30修改成300
                integerListIterator.set(300);
            }
        }
        System.out.println();
        for (int i :
                list) {
            System.out.print(i+" ");
        }
    }
}

猜你喜欢

转载自www.cnblogs.com/dch-21/p/12740747.html