Advertisement
Groney

List Operations

Feb 23rd, 2019
759
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.22 KB | None | 0 0
  1. package Week5Lists.Ex;
  2.  
  3. import java.util.Arrays;
  4. import java.util.List;
  5. import java.util.Scanner;
  6. import java.util.stream.Collectors;
  7.  
  8. public class ListOpers {
  9.     public static void main(String[] args) {
  10.         Scanner scan = new Scanner(System.in);
  11.  
  12.         List<Integer> listArray = Arrays.stream(scan.nextLine().split(" "))
  13.                 .map(Integer::parseInt).collect(Collectors.toList());
  14.  
  15.         String[] operation = scan.nextLine().toLowerCase().split("\\s+");
  16.  
  17.         while (!"end".equals(operation[0])) {
  18.             if ("add".equals(operation[0])) {
  19.                 int number = Integer.parseInt(operation[1]);
  20.  
  21.                 listArray.add(number);
  22.             } else if ("insert".equals(operation[0])) {
  23.                 int number = Integer.parseInt(operation[1]);
  24.                 int position = Integer.parseInt(operation[2]);
  25.  
  26.                 if (position < 0 || position > listArray.size()) {
  27.                     System.out.println("Invalid Index");
  28.                 } else {
  29.                     listArray.add(position, number);
  30.                 }
  31.             } else if ("remove".equals(operation[0])) {
  32.                 int index = Integer.parseInt(operation[1]);
  33.  
  34.                 if (index < 0 || index >= listArray.size()) {
  35.                     System.out.println("Invalid index");
  36.                 } else {
  37.                     listArray.remove(index);
  38.                 }
  39.             } else if ("shift".equals(operation[0])) {
  40.                 int count = Integer.parseInt(operation[2]);
  41.  
  42.  
  43.                 if ("left".equals(operation[1])) {
  44.                     for (int i = 0; i < count; i++) {
  45.                         listArray.add(listArray.get(0));
  46.                         listArray.remove(0);
  47.                     }
  48.                 } else if ("right".equals(operation[1])) {
  49.                     for (int i = 0; i < count; i++) {
  50.                         listArray.add(0,listArray.get(listArray.size() - 1));
  51.                         listArray.remove(listArray.size() - 1);
  52.                     }
  53.                 }
  54.             }
  55.             operation = scan.nextLine().toLowerCase().split("\\s+");
  56.         }
  57.  
  58.         System.out.println(listArray.toString().replaceAll("[\\[\\],]", ""));
  59.     }
  60. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement