Advertisement
damesova

List Operations [Mimi]

Feb 26th, 2019
264
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.40 KB | None | 0 0
  1. import java.util.Arrays;
  2. import java.util.List;
  3. import java.util.Scanner;
  4. import java.util.stream.Collectors;
  5.  
  6. public class _04_ListOperations {
  7.     public static void main(String[] args) {
  8.         Scanner scanner = new Scanner(System.in);
  9.  
  10.         List<String> elements = Arrays.stream(scanner.nextLine().split("\\s+"))
  11.                 .collect(Collectors.toList());
  12.  
  13.         String input = scanner.nextLine();
  14.         while (!input.equals("End")) {
  15.  
  16.             String[] data = input.split("\\s+");
  17.             String command = data[0];
  18.  
  19.             switch (command) {
  20.                 case "Add":
  21.                     elements.add(data[1]);
  22.                     break;
  23.                 case "Insert":
  24.                     String element = data[1];
  25.                     int index = Integer.parseInt(data[2]);
  26.  
  27.                     if (index >= 0 && index < elements.size()) {
  28.                         elements.add(index, data[1]);
  29.                     } else {
  30.                         System.out.println("Invalid index");
  31.                     }
  32.                     break;
  33.                 case "Remove":
  34.                     int indToRemove = Integer.parseInt(data[1]);
  35.  
  36.                     if (indToRemove >= 0 && indToRemove < elements.size()) {
  37.                         elements.remove(indToRemove);
  38.                     } else {
  39.                         System.out.println("Invalid index");
  40.                     }
  41.                     break;
  42.                 case "Shift":
  43.                     int count = Integer.parseInt(data[2]);
  44.  
  45.                     if (elements.size() > 0) {
  46.                         if (data[1].equals("left")) {
  47.  
  48.                             for (int i = 0; i < count % elements.size(); i++) {
  49.                                 elements.add(elements.get(0));
  50.                                 elements.remove(0);
  51.                             }
  52.                         } else {
  53.  
  54.                             for (int i = 0; i < count % elements.size(); i++) {
  55.                                 elements.add(0, elements.get(elements.size() - 1));
  56.                                 elements.remove(elements.size() - 1);
  57.                             }
  58.                         }
  59.                     }
  60.                     break;
  61.             }
  62.             input = scanner.nextLine();
  63.         }
  64.  
  65.         for (String element : elements) {
  66.             System.out.print(element + " ");
  67.         }
  68.     }
  69. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement