Java 程序来旋转列表的元素


在本文中,我们将了解如何旋转列表的元素。List 扩展了 Collection 并声明存储一系列元素的集合的行为。Collection 是一种提供架构来存储和操作对象组的框架。Java Collections 可以实现对数据执行的所有操作,如搜索、排序、插入、操作和删除。

以下是相同的示例 −

假设我们的输入是

Input list: [100, 150, 200, 250, 300]

所需的输出应该是

The list after one rotation: [150, 200, 250, 300, 100]

算法

Step 1 - START
Step 2 - Declare a list namely input_list
Step 3 - Define the values.
Step 4 - Iterate through the list, and use the ‘get’ method to get the element at a specific index.
Step 5 - Assign this variable to a new variable ‘temp’.
Step 6 - Iterate through the list from the end, and fetch the element at a specific index. Use the ‘set’ method to set the value at ‘temp’.
Step 7 - Display the result
Step 8 - Stop

例子 1

在这里,我们将 ‘main’ 函数下将所有操作绑定在一起。

import java.util.*;
public class Demo {
   public static void main(String[] args){
      List<Integer> input_list = new ArrayList<>();
      input_list.add(100);
      input_list.add(150);
      input_list.add(200);
      input_list.add(250);
      input_list.add(300);
      System.out.println("The list is defined as: " + Arrays.toString(input_list.toArray()));
      for (int i = 0; i < 4; i++) {
         int temp = input_list.get(4);
         for (int j = 4; j > 0; j--) {
            input_list.set(j, input_list.get(j - 1));
         }
         input_list.set(0, temp);
      }
      System.out.println( "The list after one rotation: " + Arrays.toString(input_list.toArray()));
   }
}

输出

The list is defined as: [100, 150, 200, 250, 300]
The list after one rotation: [150, 200, 250, 300, 100]

例子 2

在这里,我们将操作封装到函数中以展示面向对象的编程。

import java.util.*;
public class Demo {
   static void rotate(List<Integer> input_list){
      for (int i = 0; i < 4; i++) {
      int temp = input_list.get(4);
      for (int j = 4; j > 0; j--) {
         input_list.set(j, input_list.get(j - 1));
      }
      input_list.set(0, temp);
   }
   System.out.println("\nThe list after one rotation: " + Arrays.toString(input_list.toArray()));
   }
   public static void main(String[] args){
      List<Integer> input_list = new ArrayList<>();
      input_list.add(100);
      input_list.add(150);
      input_list.add(200);
      input_list.add(250);
      input_list.add(300);
      System.out.println("The list is defined as: " + Arrays.toString(input_list.toArray()));
      rotate(input_list);
   }
}

输出

The list is defined as: [100, 150, 200, 250, 300]

The list after one rotation: [150, 200, 250, 300, 100]

更新于: 30-Mar-2022

365 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告