Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.ArrayList;
- import java.util.Arrays;
- import java.util.List;
- import java.util.Scanner;
- import java.util.stream.Collectors;
- public class ListOperations {
- public static void main(String[] args) {
- Scanner scanner = new Scanner(System.in);
- List<Integer> numbers =
- Arrays.stream(scanner.nextLine().split(" "))
- .map(Integer::parseInt)
- .collect(Collectors.toList());
- String commandConsole;
- List<Integer> result = new ArrayList<>();
- while (!("End").equals(commandConsole = scanner.nextLine())) {
- String[] commandArray = commandConsole.split("\\s+");
- String command = commandArray[0];
- switch (command) {
- case "Add":
- result = addNumber(numbers, Integer.parseInt(commandArray[1]));
- break;
- case "Insert":
- result = insertNumber(numbers, Integer.parseInt(commandArray[1]), Integer.parseInt(commandArray[2]));
- break;
- case "Remove":
- result = removeNumber(numbers, Integer.parseInt(commandArray[1]));
- break;
- case "Shift":
- if (commandArray[1].equals("left")) {
- result = shiftLeftNumber(numbers, Integer.parseInt(commandArray[2]));
- } else if (commandArray[1].equals("right")) {
- result = shiftRightNumber(numbers, Integer.parseInt(commandArray[2]));
- }
- break;
- }
- }
- System.out.println(printList(result));
- }
- private static List<Integer> addNumber(List<Integer> numbers, int number) {
- numbers.add(number);
- return numbers;
- }
- private static List<Integer> insertNumber(List<Integer> numbers, int number, int position) {
- if (position < 0 || position > numbers.size()) {
- System.out.println("Invalid index");
- return numbers;
- }
- numbers.add(position, number);
- return numbers;
- }
- private static List<Integer> removeNumber(List<Integer> numbers, int indexNnumber) {
- if (indexNnumber < 0 || indexNnumber > numbers.size()) {
- System.out.println("Invalid index");
- return numbers;
- }
- numbers.remove(indexNnumber);
- return numbers;
- }
- private static List<Integer> shiftLeftNumber(List<Integer> numbers, int count) {
- if (numbers.size() > 0) {
- for (int i = 0; i < count % numbers.size(); i++) {
- numbers.add(numbers.get(0));
- numbers.remove(0);
- }
- }
- return numbers;
- }
- private static List<Integer> shiftRightNumber(List<Integer> numbers, int count) {
- if (numbers.size() > 0) {
- for (int i = 0; i < count % numbers.size(); i++) {
- numbers.add(0, numbers.get(numbers.size() - 1));
- numbers.remove(numbers.size() - 1);
- }
- }
- return numbers;
- }
- private static String printList (List<Integer> result){
- return result.toString().replaceAll("\\]|,|\\[","");
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement