Advertisement
Guest User

ListOperations

a guest
Oct 22nd, 2019
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.92 KB | None | 0 0
  1. import java.util.Arrays;
  2. import java.util.Collections;
  3. import java.util.List;
  4. import java.util.Scanner;
  5. import java.util.stream.Collectors;
  6.  
  7. public class ListOperations {
  8. public static void main(String[] args) {
  9. Scanner scanner = new Scanner(System.in);
  10. List<Integer> numbers = Arrays.stream(scanner.nextLine().split("\\s+")).map(Integer::parseInt).collect(Collectors.toList());
  11. String input = scanner.nextLine();
  12.  
  13. while (!input.equals("End")){
  14. String[] command = input.split("\\s+");
  15.  
  16. if (command[0].equals("Add")){
  17. numbers.add(Integer.parseInt(command[1]));
  18. }else if (command[0].equals("Insert")){
  19. int index = Integer.parseInt(command[2]);
  20. if (index>=0 && index < numbers.size()){
  21. int number = Integer.parseInt(command[1]);
  22. numbers.add(index,number);
  23. }else {
  24. System.out.println("Invalid index");
  25. }
  26. }else if (command[0].equals("Remove")){
  27. int index = Integer.parseInt(command[1]);
  28. if (index>=0 && index < numbers.size()){
  29. numbers.remove(index);
  30. }else {
  31. System.out.println("Invalid index");
  32. }
  33. }else if (command[0].equals("Shift")){
  34. int count = Integer.parseInt(command[2]);
  35. if (command[1].equals("left")){
  36. Collections.rotate(numbers,count);
  37. }else if (command[1].equals("right")){
  38. for (int i = 0; i < count; i++) {
  39. int firstNum = numbers.get(0);
  40. numbers.add(0,numbers.get(numbers.size()-1));
  41. numbers.remove(numbers.size()-1);
  42. }
  43.  
  44. }
  45. }
  46. input = scanner.nextLine();
  47. }
  48. for (Integer num:numbers) {
  49. System.out.print(num+ " ");
  50.  
  51. }
  52. }
  53. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement