List中常见的方法和五种遍历方式

有序:存取的顺序一致

有索引:可以通过索引操作元素

可重复:存储的元素可以重复

java 复制代码
package mylist;

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

public class A01_LIstDemo1 {
    public static void main(String[] args) {
        List<String> list = new ArrayList<>();
        list.add("aaa");
        list.add("bbb");
        list.add("ccc");
        //void add(int index,E element)
        //细节:原来索引上的元素会依次往后排
        list.add(1,"qqq");
        //E remove(int Index)
        //删除元素
        //在调用方法的时候,如果出现了重载现象
        //优先调用,实参跟形参类型一致的那个方法
        String remove = list.remove(2);
        System.out.println(remove);
        System.out.println(list);
        //修改指定索引处的元素,返回被修改的值
        list.set(1,"www");
        System.out.println(list);
        //返回指定索引元素
        String s = list.get(1);
        System.out.println(s);
    }
}

List集合的遍历方式

迭代器遍历,列表迭代器遍历,增强for遍历,Lambda表达式遍历,普通for循环(因为List集合存在索引)

java 复制代码
package mylist;

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

public class A02_ListDemo2 {
    public static void main(String[] args) {
        List<String> list = new ArrayList<>();
        list.add("aaa");
        list.add("bbb");
        list.add("ccc");
        //1.迭代器
//        Iterator<String> it = list.iterator();
//        while (it.hasNext()){
//            String next = it.next();
//            System.out.println(next);
//        }
        //2.增强for
        //下面的变量s,其实就是一个第三方的变量而已
        //在循环的过程中,依次表示集合中的每一个元素
//        for (String s : list) {
//            System.out.println(s);
//        }
        //3.Lambda表达式
        //forEach方法的底层其实就是一个循环遍历,依次得到集合中的每一个元素
        //并把每一个元素传递给下面的accept方法
        //accept方法的形参s,依次表示集合中的每一个元素
//        list.forEach( s-> System.out.println(s));
        //4.普通for循环
//        for (int i = 0; i < list.size(); i++) {
//            String s = list.get(i);
//            System.out.println(s);
//        }
        //5.列表迭代器
//        ListIterator<String> it = list.listIterator();
//        while (it.hasNext()){
//            String str = it.next();
//           if ("bbb".equals(str)){
//                it.add("qqq");
//            }
//        }
//        System.out.println(list);
//    }

}
相关推荐
Bdygsl21 小时前
数据结构 —— 双向循环链表
数据结构·链表
程序员阿鹏21 小时前
怎么理解削峰填谷?
java·开发语言·数据结构·spring·zookeeper·rabbitmq·rab
LYFlied1 天前
【每日算法】LeetCode 300. 最长递增子序列
前端·数据结构·算法·leetcode·职场和发展
非凡ghost1 天前
Floorp Browser(基于Firefox火狐浏览器)
前端·windows·学习·firefox·软件需求
Maguyusi1 天前
pve lxc 虚拟机 raw 格式 磁盘 扩容
linux·运维·windows
建行一世1 天前
【Windows笔记本大模型“傻瓜式”教程】在Dify的workflow中对接GPT_SoVITS实现对原神芙宁娜的语音生成
windows·gpt·ai
永远的WEB小白1 天前
windows11永久禁止更新,永久暂停更新!
windows
2401_877274241 天前
2025数据结构实验八:排序
数据结构·算法·排序算法
纸带1 天前
USB CDC 配置描述符中对比两个CDC设备配置
java·网络·windows
youngee111 天前
hot100-53搜索旋转排序数组
数据结构·算法·leetcode