Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.Arrays;
- import java.util.Collections;
- import java.util.List;
- import java.util.Scanner;
- import java.util.stream.Collectors;
- public class Lists {
- public static void main(String[] args) {
- Scanner scanner = new Scanner(System.in);
- List<String> paintings = Arrays.stream(scanner.nextLine().split(" ")).collect(Collectors.toList());
- //115 115 101 114 73 111 116 75
- String input = "";
- while (!"END".equals(input = scanner.nextLine())) {
- String[] data = input.split(" ");
- String command = data[0];
- switch (command) {
- case "Change":
- String paintingNumber = data[1];
- String changedNumber = data[2];
- if (paintings.contains(paintingNumber)) {
- paintings.set(paintings.indexOf(paintingNumber), changedNumber);
- }
- break;
- case "Hide":
- String hideNumber = data[1];
- paintings.remove(hideNumber);
- break;
- case "Switch":
- String firstNum = data[1];
- String secondNum = data[2];
- if (paintings.contains(firstNum) && paintings.contains(secondNum)) {
- if (paintings.indexOf(firstNum) > paintings.indexOf(secondNum)) {
- paintings.add(paintings.indexOf(firstNum), secondNum);
- paintings.remove(firstNum);
- paintings.add(paintings.indexOf(secondNum), firstNum);
- paintings.remove(secondNum);
- }else {
- paintings.add(paintings.indexOf(secondNum), firstNum);
- paintings.remove(secondNum);
- paintings.add(paintings.indexOf(firstNum), secondNum);
- paintings.remove(firstNum);
- }
- }
- break;
- case "Insert":
- int index = Integer.parseInt(data[1]);
- String insertElement = data[2];
- if (index >= 0 && index < paintings.size()) {
- paintings.add(index + 1, insertElement);
- }
- break;
- case "Reverse":
- Collections.reverse(paintings);
- break;
- }
- }
- System.out.println(paintings.toString().replaceAll("[\\[\\],]", ""));
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment