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

Java学习,List移动元素

Java实现List中元素的循环移动(即将列表中的元素向右或向左移动指定数量的位置),可以使用多种方法。

List元素移动指定位置:

import java.util.ArrayList;
import java.util.Collections;
import java.util.List; 
public class RotateList
    public static void main(String[] args) {
        List<Integer> list = new ArrayList<>();
        // 初始化列表
        Collections.addAll(list, 1, 2, 3, 4, 5, 6, 7);
         System.out.println("原始列表: " + list);
 
        // 循环移动位置(向右移动3个位置)
        int rotateCount = 3;
        List<Integer> rotatedList = rotateRight(list, rotateCount);
 
        System.out.println("向右移动" + rotateCount + "个位置后的列表: " + rotatedList);
    }
 
    /**
     * 将列表元素向右循环移动指定的位置
     *
     * @param list      原始列表
     * @param rotateCount 要移动的位置数
     * @return 移动后的新列表
     */
    public static List<Integer> rotateRight(List<Integer> list, int rotateCount) {
        if (list == null || list.isEmpty() || rotateCount == 0) {
            return new ArrayList<>(list);
        }
 
        int size = list.size();
        rotateCount = rotateCount % size; // 防止移动超过列表长度
 
        List<Integer> rotatedList = new ArrayList<>(size);
 
        // 将后部分元素移到新列表的前面
        for (int i = size - rotateCount; i < size; i++) {
            rotatedList.add(list.get(i));
        }
 
        // 将前部分元素移到新列表的后面
        for (int i = 0; i < size - rotateCount; i++) {
            rotatedList.add(list.get(i));
        }
         return rotatedList;
    }
}

Collections的rotate() 循环移动元素:

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


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

相关文章:

  • 21天学通C++——11多态(引入多态的目的)
  • LabVIEW时域近场天线测试
  • AI刷题-小R的随机播放顺序、不同整数的计数问题
  • 在.NET用C#将Word文档转换为HTML格式
  • Python GUI Pyside6 实例笔记
  • 联通用户管理系统(一)
  • 解决leetcode第3418题机器人可以获得的最大金币数
  • openwrt下oaf插件编译安装,实现上网行为监控
  • aws(学习笔记第二十五课) 使用aws batch
  • 宝塔php7.4安装报错,无法安装,php8以上可以安装,以下的不行,gd库什么的都正常
  • CSS样式margin: 1%; 详细解读
  • CamemBERT:一款出色的法语语言模型
  • 大数据技术实训:Hadoop完全分布式运行模式配置
  • 80_Redis内存策略
  • linux环境下软件安装
  • 电商数据API接口的安全挑战与应对策略
  • C++ 模拟真人鼠标轨迹算法 - 防止游戏检测
  • MYSQL对数据的增删改查
  • PHP的HMAC_SHA1和HMAC_MD5算法方法
  • 【老白学 Java】线程死锁是怎么回事
  • Unity2021.3.13崩溃的一种情况
  • Oracle 表空间的使用与创建
  • [Python学习日记-78] 基于 TCP 的 socket 开发项目 —— 模拟 SSH 远程执行命令
  • mac 安装mongodb
  • 认识软件测试 - 软实力面试题
  • 【Java 数据导出到 Word实现方案】使用EasyPOI 工具包进行简易的word操作