Назад к задачам
Junior — Middle+
5

Преобразование строки в набор пар ключ‑значение

Получайте помощь с лайвкодингом в реальном времени с Sobes Copilot
Условие задачи

Дана строка, в которой несколько пар «ключ=значение» разделены символом ;. Необходимо реализовать класс ParseHolder, обеспечивающий:

  1. void parse(String str) — разбор входного текста и заполнение внутренней структуры данных.
  2. String getValue(String key) — мгновенный (O(1)) доступ к значению по указанному ключу.
  3. String generateRecord() — формирование исходной строки из сохранённых пар.

Пример строки:

key1=val1;key1=abc;key2=val2;key3=val3;key1=val4;key2=val5;key1=val6
public class ParseHolder {

    void parse(String str) {
        // ...
    }

    String generateRecord() {
        return null;
    }

    public String getValue(String key) {
        return null;
    }

    public static void main(String[] args) throws Exception {
        String testString = "key1=val1;key1=abc;key2=val2;key3=val3;" +
                            "key1=val4;key2=val5;key1=val6";

        ParseHolder parser = new ParseHolder();
        parser.parse(testString);
        System.out.println(parser.generateRecord());
    }
}