#7 QuotientTreeMap: multivalue

Slēgta
msieron atvēra 6 gadi atpakaļ · 1 komentāri

MultiValue support is broken. Let's image, we put 4 values: List, List, ArrayList, ArrayList

Then we have no idea, what structure will be at the end. Possible options:

 - List
   - List/ArrayList
   - List/ArrayList
 - List
 - List
   - List/ArrayList
 - List
   - List/ArrayList

Anyway, every option is broken if we want to later use values sorted by inheritance.

In effect, if we want to map many values (we want in DynamicInvoker!) then we have to use explicitly QuotientTreeMap<Class, List<?>>. Additionaly, we can't use standard computeIfPresent, because get uses find, not findExact!

MultiValue support is broken. Let's image, we put 4 values: List, List, ArrayList, ArrayList Then we have no idea, what structure will be at the end. Possible options: ``` - List - List/ArrayList - List/ArrayList - List ``` ``` - List - List/ArrayList - List - List/ArrayList ``` Anyway, every option is broken if we want to later use values sorted by inheritance. In effect, if we want to map many values (we want in DynamicInvoker!) then we have to use explicitly `QuotientTreeMap<Class, List<?>>`. Additionaly, we can't use standard `computeIfPresent`, because `get` uses `find`, not `findExact`!
msieron komentēja 6 gadi atpakaļ
Līdzstrādnieks

QuotientMap abstraction is broken in every way, and unusable in DynamicInvoker.

QuotientMap abstraction is broken in every way, and unusable in DynamicInvoker.
ranides pieminēja šo problēmu revīzijā 4 gadi atpakaļ
ranides pieminēja šo problēmu revīzijā 4 gadi atpakaļ
Pierakstieties, lai pievienotos šai sarunai.
Nav atskaites punktu
Nav atbildīgā
1 dalībnieki
Notiek ielāde...
Atcelt
Saglabāt
Vēl nav satura.