当前位置: 首页 > article >正文

Java学习,List截取

Java中List接口,List接口提供了一个subList方法,该方法允许获取原始列表的一个视图(view),该视图包含从指定起始索引(包含)到指定结束索引(不包含)之间的元素。

使用ArrayListsubList方法:

import java.util.ArrayList;
import java.util.List; 
public class ListSliceExample {
    public static void main(String[] args) {
        // 创建ArrayList
        List<String> list = new ArrayList<>();
        list.add("Apple");
        list.add("Banana");
        list.add("Cherry");
        list.add("Date");
        list.add("Elderberry");
 
        // 打印原始列表
        System.out.println("Original List: " + list);
 
        // 使用subList方法截取列表的一部分
        // 从索引1到索引4
        List<String> subList = list.subList(1, 4);
 
        // 打印截取后的子列表
        System.out.println("SubList: " + subList);
 
        // 注意:subList是原始列表的一个视图,因此对它所做的更改将反映在原始列表中
        subList.set(1, "Blueberry"); // 将子列表中的第二个元素(Cherry)替换为Blueberry
 
        // 再次打印原始列表以查看更改
        System.out.println("Original List after modifying SubList: " + list);
    }
}

使用 Collections 类的 indexOfSubList() 和 lastIndexOfSubList() 方法:

import java.util.*; 
public class Main {
   public static void main(String[] args) {
      List list = Arrays.asList("one Two three Four five six one three Four".split(" "));
      System.out.println("List :"+list);
      List sublist = Arrays.asList("three Four".split(" "));
      System.out.println("子列表 :"+sublist);
      System.out.println("indexOfSubList: "
      + Collections.indexOfSubList(list, sublist));
      System.out.println("lastIndexOfSubList: "
      + Collections.lastIndexOfSubList(list, sublist));
   }
}

 


http://www.kler.cn/a/513988.html

相关文章:

  • Golang Gin系列-4:Gin Framework入门教程
  • Kafka-常见的问题解答
  • 可视化-numpy实现线性回归和梯度下降法
  • pip 相关
  • 云计算、AI与国产化浪潮下DBA职业之路风云变幻,如何谋破局启新途?
  • adb 命令使用大全
  • 解锁速度之门:Redis
  • 《C++ primer plus》第六版课后编程题-第05章
  • root用户Linux银河麒麟服务器安装vnc服务
  • Java设计模式 六 原型模式 (Prototype Pattern)
  • TRELLIS微软的图生3D
  • 基于 MDL 行情插件的中金所 L1 数据处理最佳实践
  • 【Linux】多线程(二)
  • Linux:常用命令--文件与目录操作
  • docker构建Java项目镜像常用的Java版本,国内私有仓库公网快速下载,解决从docker.io无法下载的问题
  • 【Elasticsearch】腾讯云安装Elasticsearch
  • C#集合操作优化:高效实现批量添加与删除
  • vue3+uniapp开发鸿蒙初体验
  • 【图像处理】——掩码
  • C#防止重复提交
  • Unity中两个UGUI物体的锚点和中心点设置成不一样的,然后怎么使两个物体的位置一样?
  • vsftpd虚拟用户部署
  • MATLAB中characterListPattern函数用法
  • 【爱上C++】vector用法详解
  • 案例分析一
  • MySQL新建和删除普通用户