Как присвоить часть значений hashMap'ы?
Есть общие поля которые повторяются. Их выделил в отдельную мапу. Их 6 но может быть 10-20
private final HashMap<String, String> mapDefault = new HashMap<>(); {
mapDefault.put("[STG_ID]", "getRecColumns");
mapDefault.put("[ODS_TAB]", "ODS.S$DWH_TABLE_NAME" );
mapDefault.put("[STG_TAB]", "STG.S$DWH_TABLE_NAME");
}
Хочу сделать так что бы другую мапу наследовать от этой, но так что бы она старую не перетёрла Я делаю
HashMap<String, String> falseDefault = mapDefault; {
falseDefault.put("[False]", "значение false"); // Я просто хочу дополнить дефолтную мапу новым значением
falseDefault.put("[STG_TAB]", "Абракатабра"); // просто хочу перетереть значение ключа [STG_TAB]
}
В итоге получается, что falseDefault == mapDefault
. Но мне нужно не это, я хочу использовать 2 разные мапы для разных тестов. И вообще не 2, а 4. Или 5-10 мап, которые будут наследовать основные поля от дефолтной, почему нельзя сделать так что бы это были разные объекты? Кто вообще придумал что эти объекты должны быть одинаковыми, да я понимаю там передаются значения по ссылке, но я таких задач не знаю, мне нужны разные мапы, наследуемые от общей, думаю многие задумывались над этим. Более того если сделать 3 мапу она перетрёт первые 2. Мне нужно 4 уникальных мапы, у которых есть общие поля.