List子接口

1.特点:有序,有下标,元素可以重复

2.方法:包含Collection中的所有方法,还包括自己的独有的方法(API 中查找

还有ListIterator(迭代器),功能更强大。

包含更多的方法:

3.实例代码

java 复制代码
package com.collection;

import javax.jnlp.ClipboardService;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.ListIterator;

/**
 * List子接口的使用
 */
public class Demo03 {
    public static void main(String[] args) {
        //集合  <>是泛型
        List li = new ArrayList<>();
        //1添加元素
        li.add("苹果");
        li.add("桃子");
        li.add(0,"香蕉");
        System.out.println("元素个数:"+li.size());
        System.out.println(li);
        //2删除元素
//        li.remove("桃子");
        li.remove(1);  //删除下标为1的元素
        //3遍历
        System.out.println("-------for--------");
        for (int i = 0; i < li.size(); i++) {
            System.out.println(li.get(i));
        }

        System.out.println("-------增强for--------");
        for (Object o : li) {
            System.out.println(o);
        }

        System.out.println("-------迭代器--------");
        Iterator it = li.iterator();
        while (it.hasNext()) {
            System.out.println(it.next());
        }

        //listIterator可以向前向后遍历、删除、添加、修改元素
        System.out.println("-------列表迭代器--------");
        ListIterator listIterator = li.listIterator();
        System.out.println("--------列表迭代器:从前往后--------");
        while (listIterator.hasNext()) {
            System.out.println(listIterator.nextIndex()+","+listIterator.next());
        }
        System.out.println("--------列表迭代器:从后往前--------");
        while (listIterator.hasPrevious()) {
            System.out.println(listIterator.previousIndex()+","+listIterator.previous());
        }

        //4判断
        System.out.println(li.contains("苹果"));
        System.out.println(li.isEmpty());

        //获取元素的位置
        System.out.println(li.indexOf("香蕉"));
    }
}

结果:

相关推荐
lilian2335 分钟前
Harmony os 技术实战|拼豆制图06:收藏 ID、生成记录与重启恢复怎么不打架
android·java·数据库·harmonyos
2601_9557596211 分钟前
ClaudeAPI成本中心与业务标签设计指南
android·java·数据库
夜雪一千32 分钟前
Python从HTML提取纯文本、去空格、比对内容是否变化:方案+合理性分析
开发语言·python·html
烂蜻蜓38 分钟前
Node.js入门教程(一):初识Node.js——服务端JavaScript的诞生与特点
开发语言·javascript·node.js
雾喔1 小时前
算法练习7
java·数据结构·算法
掉鱼的猫1 小时前
跳出 Fatjar 的束缚:Solon 插件的体外扩展(E-Spi)与热插拔(H-Spi)
java
Bill FANG2 小时前
从原生Java NIO到Netty重构:充电桩Socket服务端高性能改造实战
java·重构·nio
2601_955759412 小时前
Claude API 成本审计:该看哪些指标,怎么分析更靠谱
java
带刺的坐椅2 小时前
跳出 Fatjar 的束缚:Solon 插件的体外扩展(E-Spi)与热插拔(H-Spi)
java·jar·solon·plugin·fatjar
北冥you鱼2 小时前
Go语言大数(big.Int)比较大小:原理、方法与最佳实践
开发语言·后端·golang