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("香蕉"));
    }
}

结果:

相关推荐
We་ct5 分钟前
深度剖析浏览器跨域问题
开发语言·前端·浏览器·跨域·cors·同源·浏览器跨域
身如柳絮随风扬11 分钟前
多数据源切换实战:从业务场景到3种实现方案全解析
java·分布式·微服务
skywalk816313 分钟前
在考虑双轨制,即在中文语法的基础上,加上数学公式的支持,这样像很多计算将更加简单方便,就像现在的小学数学课本里面一样,比如:定x=2*x + 1
开发语言
小书房16 分钟前
Kotlin的by
android·开发语言·kotlin·委托·by
就叫飞六吧32 分钟前
QT写一个桌面程序exe并动态打包基本流程(c++)
开发语言·c++
threelab42 分钟前
Three.js 代码云效果 | 三维可视化 / AI 提示词
开发语言·javascript·人工智能
Java小生不才42 分钟前
Spring AI文生音
java·人工智能·spring
凯尔萨厮1 小时前
Springboot2.x+Thymeleaf项目创建
java
V搜xhliang02461 小时前
OpenClaw科研全场景用法:从文献到实验室的完整自动化方案
运维·开发语言·人工智能·python·算法·microsoft·自动化
kaikaile19951 小时前
风、浪、流环境模型的船舶三自由度(纵荡、横荡、艏摇)运动仿真MATLAB
开发语言·人工智能·matlab