Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.*;
- import java.util.stream.Collectors;
- public class ListOperation {
- public static void main(String[] args) {
- Scanner scanner = new Scanner(System.in);
- List<String> numbers = Arrays.stream(scanner.nextLine().split("\\s+"))
- .map(String::toString).collect(Collectors.toList());
- String input = scanner.nextLine();
- while (!input.equals("End")) {
- String[] tokens = input.split("\\s+");
- switch (tokens[0]) {
- case "Add":
- add(numbers, tokens);
- break;
- case "Insert":
- insert(numbers, tokens);
- break;
- case "Remove":
- remove(numbers, tokens);
- break;
- case "Shift":
- if (tokens[1].equals("left")) {
- shiftLeft(numbers, tokens);
- } else {
- shiftRight(numbers, tokens);
- }
- break;
- }
- input = scanner.nextLine();
- }
- printList(numbers);
- }
- public static void add(List<String> numbers, String[] tokens) {
- numbers.add(tokens[1]);
- }
- public static void insert(List<String> numbers, String[] tokens) {
- if (Integer.parseInt(tokens[2]) >= numbers.size() || Integer.parseInt(tokens[2]) < 0) {
- System.out.println("Invalid index");
- } else {
- numbers.add(Integer.parseInt(tokens[2]), tokens[1]);
- }
- }
- public static void remove(List<String> numbers, String[] tokens) {
- if (Integer.parseInt(tokens[1]) >= numbers.size() || Integer.parseInt(tokens[1]) < 0) {
- System.out.println("Invalid index");
- } else {
- numbers.remove(Integer.parseInt(tokens[1]));
- }
- }
- public static void shiftLeft(List<String> numbers, String[] tokens) {
- for (int i = 0; i < Integer.parseInt(tokens[2]); i++) {
- String temp = numbers.get(0);
- for (int j = 0; j < numbers.size() - 1; j++) {
- numbers.set(j, numbers.get(j + 1));
- }
- numbers.set(numbers.size() - 1, temp);
- }
- }
- public static void shiftRight(List<String> numbers, String[] tokens) {
- for (int i = 0; i < Integer.parseInt(tokens[2]); i++) {
- String temp = numbers.get(numbers.size() - 1);
- for (int j = numbers.size() - 1; j > 0; j--) {
- numbers.set(j, numbers.get(j - 1));
- }
- numbers.set(0, temp);
- }
- }
- public static void printList(List<String> numbers) {
- for (String num : numbers) {
- System.out.print(num + " ");
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement