Java遍历List四种方法

    public static void main(String[] args) {
       // 1、普通for循环遍历
        List list = getList();
        for(int i=0;i iterator = list.iterator();
        while (iterator.hasNext()){
            System.out.println(iterator.next());
        }
        // 3、增强for-each遍历,底层通过迭代器遍历实现,迭代器遍历提供容器统一遍历接口
        for(String str:list){
            System.out.println(str);
        }
        // 4、Lambda遍历
        list.stream().forEach(str->{
            System.out.println(str);
        });
        // 5、ListIterator迭代,前向迭代
        ListIterator listIterator = list.listIterator();
        while(listIterator.hasNext()){
            System.out.println(listIterator.next());
        }
        // 6、ListIterator迭代,反向迭代
        while(listIterator.hasPrevious()){
            System.out.println(listIterator.previous());
        }
}

   private static List getList() {
        List list=new ArrayList<>();
        list.add("Map");
        list.add("HashMap");
        list.add("LinkedHashMap");
        list.add("TreeMap");
        list.add("ConcurrentHashMap");
        return list;
}

 附录:开发中常用的各种类型List集合,util包下

import java.util.Collections;
        // 1、空集合,底层自定义一个EmptyList实现,接口空list返回,不像new ArrayList分配不必要的内存空间
        Collections.emptyList();
        // 2、单值List,底层定义SingletonList,size为1
        Collections.singletonList(new Object());
        // 3、线程安全的List,底层定义SynchronizedList,方法定义通过synchronized代码实现线程安全,定义了一个SynchronizedCollection
        Collections.synchronizedList(new ArrayList<>());
        // 4、不可变List,不支持修改,定义一个UnmodifiableCollection,UnmodifiableList
        Collections.unmodifiableList(new ArrayList<>());

你可能感兴趣的:(Java开发进阶学习指南,java,开发语言,后端)