CrUD Batch - multiple Creation, Updates, Deletion.
Программа запускается с одним из следующих наборов параметров:
-c name1 sex1 bd1 name2 sex2 bd2 ...
-u id1 name1 sex1 bd1 id2 name2 sex2 bd2 ...
-d id1 id2 id3 id4 ...
-i id1 id2 id3 id4 ...
Значения параметров:
name - имя, String
sex - пол, "м" или "ж", одна буква
bd - дата рождения в следующем формате 15/04/1990
-с - добавляет всех людей с заданными параметрами в конец allPeople, выводит id (index) на экран в соответствующем порядке
-u - обновляет соответствующие данные людей с заданными id
-d - производит логическое удаление человека с id, заменяет все его данные на null
-i - выводит на экран информацию о всех людях с заданными id: name sex bd
id соответствует индексу в списке.
Формат вывода даты рождения 15-Apr-1990
Все люди должны храниться в allPeople.
Порядок вывода данных соответствует вводу данных.
Обеспечить корректную работу с данными для множества нитей (чтоб не было затирания данных).
Используй Locale.ENGLISH в качестве второго параметра для SimpleDateFormat.
Пример вывода для параметра -і с двумя id:
Миронов м 15-Apr-1990
Миронова ж 25-Apr-1997
- Класс Solution должен содержать public static volatile поле allPeople типа List<Person>.
- Класс Solution должен содержать статический блок, в котором добавляются два человека в список allPeople.
- При параметре -с программа должна добавлять всех людей с заданными параметрами в конец списка allPeople, и выводить id каждого (index) на экран.
- При параметре -u программа должна обновлять данные людей с заданными id в списке allPeople.
- При параметре -d программа должна логически удалять людей с заданными id в списке allPeople.
- При параметре -i программа должна выводить на экран данные о всех людях с заданными id по формату указанному в задании.
- Метод main класса Solution должен содержать оператор switch по значению args[0].
- Каждый case оператора switch должен иметь блок синхронизации по allPeople.