List.subList用法小记

package com.company;

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

public class SubListTest {
    public static void main(String[] args) {
        List<String> stringList = new ArrayList<>();
        stringList.add("晓");
        stringList.add("看");
        stringList.add("天");
        stringList.add("色");
        stringList.add("暮");
        stringList.add("看");
        stringList.add("云");

        List<String> subList = stringList.subList(2, 4);
        System.out.println("原始列表:" + stringList.toString());
        System.out.println("子列表:" + subList.toString());
        System.out.println("子列表长度:" + subList.size());

        subList.set(1, "秀强");
        System.out.println("子列表:" + subList.toString());
        System.out.println("原始列表:" + stringList.toString());
    }
}

OUTPUT

原始列表:[,,,,,,]
子列表:[,]
子列表长度:2
子列表:[, 秀强]
原始列表:[,,, 秀强,,,]

关联阅读

【强制】在subList场景中,高度注意对父集合元素的增加或删除,均会导致子列表的遍历、增加、删除产生 ConcurrentModificationException 异常。

【强制】ArrayList 的 subList 结果不可强转成 ArrayList,否则会抛出 ClassCastException 异常:java.util.RandomAccessSubList cannot be cast to java.util.ArrayList。
说明:subList()返回的是 ArrayList 的内部类 SubList,并不是 ArrayList 本身,而是 ArrayList 的一个视图,对于 SubList 的所有操作最终会反映到原列表上。

–《Java开发手册(嵩山版)》

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值