i have map<string, set<string>>
:
{upload=[admin], configure.accounts=[admin, consult], consult=[admin, consult], configure.merchants=[manager, admin], configure.invoices=[manager, admin], graphics=[manager, admin]}
and want obtain structure set<string>
next one:
[admin, consult, manager]
where data filtered obtaining possible values set within map. can if iterate entire map , compares values, adding not in set
.
is there function this?
you not have check whether individual values in set
-- set take care of that, that's sets for. iterate values , add them set of values.
map<string, set<string>> data = new hashmap<>(); data.put("accounts", new hashset<>(arrays.aslist("admin", "consult"))); data.put("merchants", new hashset<>(arrays.aslist("manager", "admin"))); set<string> values = new hashset<>(); (set<string> set : data.values()) { values.addall(set); }
if using java 8, can replace for
loop foreach
statement:
data.values().foreach(values::addall);
afterwards, values
[manager, admin, consult]
.
Comments
Post a Comment