package com.javarush.test.level17.lesson04.task03;
import java.util.ArrayList;
import java.util.List;
/* Сад-огород
1. Создайте метод public void addFruit(int index, String fruit) - который добавляет параметр fruit в лист fruits на позицию index
2. Создайте метод public void removeFruit(int index) - который удаляет из fruits элемент с индексом index
3. Создайте метод public void addVegetable(int index, String vegetable) - который добавляет параметр vegetable в лист vegetables на позицию index
4. Создайте метод public void removeVegetable(int index) - который удаляет из vegetables элемент с индексом index
5. Класс Garden будет использоваться нитями. Поэтому сделай так, чтобы все методы блокировали мютекс this
6. Реализуй это минимальным количеством кода
*/
public class Solution {
public static class Garden {
public final List<String> fruits = new ArrayList<String>();
public final List<String> vegetables = new ArrayList<String>();
/*
public void doAction(int index, String fruit, String vegetable) {
synchronized (this) {
fruits.add(index, fruit);
fruits.remove(index);
vegetables.add(index, vegetable);
vegetables.remove(index);
}
}
*/
public synchronized void addFruit(int index, String fruit) {
fruits.add(index, fruit);
}
public synchronized void removeFruit(int index) {
fruits.remove(index);
}
public synchronized void addVegetable(int index, String vegetable) {
vegetables.add(index, vegetable);
}
public synchronized void removeVegetable(int index) {
vegetables.remove(index);
}
}
}
Leave A Comment