desislava_topuzakova

1. Манипулации на лист

Feb 20th, 2022
950
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.17 KB | None | 0 0
  1. package Lists;
  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 ListManipulations_01 {
  9.     public static void main(String[] args) {
  10.         Scanner scanner = new Scanner(System.in);
  11.         //прочитам списък от цели числа от конзолата
  12.         List<Integer> numbers = Arrays.stream(scanner.nextLine().split(" "))
  13.                 .map(Integer::parseInt).collect(Collectors.toList());
  14.  
  15.         //повтарям: въвеждам команди
  16.         //спирам: команда == "end"
  17.         //продължавам: команда != "end"
  18.         String command = scanner.nextLine();
  19.  
  20.         while (!command.equals("end")) {
  21.              //"Add 1" -> split(" ") ->      ["Add", "1"]
  22.             //"Remove 8" -> split(" ") ->    ["Remove", "8"]
  23.             //"RemoveAt 0" -> split (" ") -> ["RemoveAt", "0"]
  24.             //"Insert 2 4" -> split (" ") -> ["Insert", "2", "4"]
  25.             String [] commandParts = command.split(" ");
  26.             String commandName = commandParts[0]; // "Add", "Remove", "RemoveAt", "Insert"
  27.  
  28.             switch (commandName) {
  29.                 case "Add":
  30.                     int number = Integer.parseInt(commandParts[1]);
  31.                     numbers.add(number);
  32.                     break;
  33.                 case "Remove":
  34.                     int numberForRemove = Integer.parseInt(commandParts[1]);
  35.                     numbers.remove(Integer.valueOf(numberForRemove));
  36.                     break;
  37.                 case "RemoveAt":
  38.                     int index = Integer.parseInt(commandParts[1]);
  39.                     numbers.remove(numbers.get(index));
  40.                     break;
  41.                 case "Insert":
  42.                     int numberToInsert = Integer.parseInt(commandParts[1]);
  43.                     int indexToInsert = Integer.parseInt(commandParts[2]);
  44.                     numbers.add(indexToInsert, numberToInsert);
  45.                     break;
  46.             }
  47.             command = scanner.nextLine();
  48.         }
  49.  
  50.         for (int number : numbers) {
  51.             System.out.print(number + " ");
  52.         }
  53.     }
  54. }
  55.  
Advertisement
Add Comment
Please, Sign In to add comment