List集合

List集合

List集合:元素可以发生重复,有序(指存储和取出的顺序一致)
    Collection【接口】:
         - List【接口】
            ArrayList
         - Set【接口】

成员方法

List集合中特有的成员方法:
        void add(int index,E element)
        E remove(int index)
        E get(int index)
        E set(int index,E element)
        ListIterator listIterator()

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

public class ListDemo1 {
    public static void main(String[] args) {
        List list1 = new ArrayList();

        list1.add("hello");
        list1.add("apple");
        list1.add("banana");
        list1.add("watermelon");
        list1.add("mango");

        System.out.println("list1: " + list1);

        System.out.println("==================================");
        //因为List相关集合具备索引的特点,List集合根据索引提供一些其它集合没有的方法
        //void add(int index,E element) 指定索引位置添加元素 grape
        list1.add(2,"grape");
        System.out.println("list1: " + list1);
        System.out.println("==================================");
        // E remove(int index) 根据索引从集合中移除元素
        System.out.println(list1.remove(2));
        System.out.println("list1: " + list1);
        System.out.println("==================================");
        //E get(int index) 根据索引获取对应元素
        System.out.println(list1.get(3));
        System.out.println("list1: " + list1);
        System.out.println("==================================");
        //E set(int index,E element) 指定索引位置修改元素
        System.out.println(list1.set(3, "orange"));
        System.out.println("list1: " + list1);
        System.out.println("==================================");
        //ListIterator listIterator()
        ListIterator listIterator = list1.listIterator();
        //从前向后取
        while (listIterator.hasNext()){
            System.out.println(listIterator.next());
        }
        System.out.println("==================================");
        //从后向前取
        //注意:一个集合迭代器只有一个游标,要想倒着遍历,必须先正着遍历一遍,所以该方法用的较少
        while (listIterator.hasPrevious()){
            System.out.println(listIterator.previous());
        }
    }
}

Test

/*
    需求:遍历集合,当遇到mango的时候,向集合中添加一个元素"java"

    我们发现如果使用迭代器遍历,集合发生修改的话,报错了
    ConcurrentModificationException

 */
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.ListIterator;

public class ListDemo2 {
    public static void main(String[] args) {
        List list1 = new ArrayList();

        list1.add("hello");
        list1.add("apple");
        list1.add("banana");
        list1.add("watermelon");
        list1.add("mango");
        list1.add("peach");
        list1.add("pear");

        System.out.println("list1: " + list1);
        System.out.println("======================================");
        //1、转数组遍历
//        Object[] objects = list1.toArray();
//        for(int i=0;i<objects.length;i++){
//            Object obj = objects[i];
//            String s = (String) obj;
//            if("mango".equals(s)){
//                list1.add("java");
//            }
//        }
//        System.out.println("list1: "+list1);
//        System.out.println("======================================");

        //2、使用迭代器遍历
//        Iterator iterator = list1.iterator();
//        while (iterator.hasNext()){
//            Object obj = iterator.next();
//            String s = (String) obj;
//            if("mango".equals(s)){
//               list1.add("java");
//            }
//        }
//        System.out.println("list1: "+list1);

        //使用List集合中特有的迭代器进行遍历比较,且使用它进行添加元素
        ListIterator listIterator = list1.listIterator();
        while (listIterator.hasNext()) {
            Object obj = listIterator.next();
            String s = (String) obj;
            if ("mango".equals(s)) {
                listIterator.add("java");
            }
        }
        System.out.println("list1: " + list1);


    }
}
posted @   rrrzzzrrr  阅读(5)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示